def main()

in dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import/bg_import/business_glossary_export_v2.py [0:0]


def main():
    args = utils.get_export_v2_arguments()
    utils.validate_export_v2_args(args)

    global DATAPLEX_ENTRY_GROUP, PROJECT, LOCATION, GLOSSARY, PROJECT_NUMBER, DATACATALOG_BASE_URL
    PROJECT = args.project
    LOCATION = args.location
    GLOSSARY = args.glossary
    DATAPLEX_ENTRY_GROUP = f"projects/{PROJECT}/locations/{LOCATION}/entryGroups/@dataplex"
    if args.testing:
        PROJECT_NUMBER = "418487367933"  # Staging project number
    else:
        PROJECT_NUMBER = "655216118709"  # Prod project number
    logger.info("Fetching entries in the Glossary...")
    entries = utils.fetch_entries(args.project, args.location, args.group)
    logger.info("Fetching entry links in the Glossary...")
    relationships_data = utils.fetch_all_relationships(entries, args.project)
    map_entry_id_to_entry_type = {get_entry_id(e["name"]): e.get("entryType", "") for e in entries}
    parent_mapping = build_parent_mapping(entries, relationships_data)

    if args.export_mode in ["glossary_only", "all"]:
        export_glossary_entries_json(
            entries,
            args.glossary_json,
            parent_mapping,
            map_entry_id_to_entry_type,
        )
        logger.info(f"Glossary exported to {args.glossary_json}")

    if args.export_mode in ["entry_links_only", "all"]:
        export_entry_links_json(entries, relationships_data, args.entrylinks_json)
        logger.info(f"Entry links exported to {args.entrylinks_json}")