properties[target] = value
                continue

            LOG.debug(_("Ignoring key %s because it's not in property mapping.") % key)

        return properties


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--unattend", metavar="FILENAME", help="The unattend.xml file", required=True)
    parser.add_argument("--mapping", metavar="TARGET=SOURCE", help="A property mapping", action="append")
    parser.add_argument("--auth_token", metavar="FILENAME", help="File containing authentication token")
    parser.add_argument("--image_id", metavar="ID", help="Image ID")
    parser.add_argument("--replace", action="store_true", help="Replace existing attribute")
    parser.add_argument(
        "--hostname", metavar="HOSTNAME", default="localhost", help="Glance server hostname, defaults to localhost"
    )
    args = parser.parse_args()

    mappings = common.parse_mappings(args.mapping)

    with open(args.unattend, "r") as f:
        unattend_contents = f.read()

    cs_data = common.calc_common_metadata("sysprep", unattend_contents, mappings)

    res = common.set_image_metadata(cs_data, args.image_id, args.auth_token, args.replace, hostname=args.hostname)

    print("Result: %s %s" % (res.status, res.reason))
        return properties, compressed_targets


if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument('--ovf', metavar='FILENAME',
                        help='The OVF descriptor file', required=True)
    parser.add_argument('--mapping', metavar='TARGET=SOURCE',
                        help='A property mapping', action='append')
    parser.add_argument('--auth_token', metavar='FILENAME',
                        help='File containing authentication token')
    parser.add_argument('--image_id', metavar='ID', help='Image ID')
    parser.add_argument('--replace', action='store_true',
                        help='Replace existing attribute')
    parser.add_argument('--hostname', metavar='HOSTNAME', default='localhost',
                        help='Glance server hostname, defaults to localhost')
    args = parser.parse_args()

    mappings = common.parse_mappings(args.mapping)

    with open(args.ovf, 'r') as f:
        ovf_descriptor = f.read()

    cs_data = common.calc_common_metadata('ovf', ovf_descriptor, mappings)

    res = common.set_image_metadata(cs_data, args.image_id, args.auth_token,
                                    args.replace, hostname=args.hostname)

    print('Result: %s %s' % (res.status, res.reason))