def main()

in identity-resolution/notebooks/identity-graph/nepytune/cli/add.py [0:0]


def main(args):
    """Generate dataset files with information about the world."""
    config = configparser.ConfigParser()
    config.read(args.config_file.name)

    if args.command == "persistent_id":
        logger.info("Generate persistent id file to %s", config["dst"]["persistent"])
        uf_ds = extract_user_groups(config["src"]["user_to_user"])
        generate_persistent_groups(uf_ds, config["dst"]["persistent"])

    if args.command == "identity_group":
        logger.info(
            "Generate identity group file to %s", config["dst"]["identity_group"]
        )
        try:
            distribution = parse_distribution(args.size, args.weights)
        except ValueError as exc:
            print(exc)
            sys.exit(2)

        generate_identity_groups(
            config["dst"]["persistent"], distribution, config["dst"]["identity_group"]
        )

    if args.command == "facts":
        logger.info("Generate IP facts file to %s", config["dst"]["ip_info"])
        build_iploc_knowledge(
            ip_facts_file=config["src"]["location_to_cidr"],
            persistent_ids_facts_file=config["dst"]["persistent"],
            identity_group_facts_file=config["dst"]["identity_group"],
            transient_ids_facts_file=config["src"]["facts"],
            dst=config["dst"]["ip_info"],
        )
        logger.info(
            "Generate user identity facts file to %s",
            config["dst"]["user_identity_info"],
        )
        build_user_identitity_knowledge(
            persistent_ids_facts_file=config["dst"]["persistent"],
            transient_ids_facts_file=config["src"]["facts"],
            dst=config["dst"]["user_identity_info"],
        )

    if args.command == "website_groups":
        logger.info("Generate website groups file to %s.", config["dst"]["website_groups"])
        urls_file = config["src"]["urls"]
        dst_file = config["dst"]["website_groups"]
        iab_categories = read_iab_categories(config["src"]["iab_categories"])

        generate_website_groups(urls_file, iab_categories, dst_file)

    logger.info("Done!")