def generate()

in sql_generators/use_counters/__init__.py [0:0]


def generate(ctx, target_project, output_dir, use_cloud_function):
    """Generate the use counter tables for Fenix and Firefox Desktop"""
    output_dir = Path(output_dir)

    config = {
        "fenix": {
            "query_fpath": "query_fenix.sql",
            "dataset": "fenix_derived",
            "dst_tbl": "fenix_use_counters_v2",
            "friendly_nm": "Fenix Use Counters V2",
        },
        "firefox": {
            "query_fpath": "query_ff_desktop.sql",
            "dataset": "firefox_desktop_derived",
            "dst_tbl": "firefox_desktop_use_counters_v2",
            "friendly_nm": "Firefox Desktop Use Counters V2",
        },
    }

    # FIRST - generate Fenix one
    generate_query(
        target_project,
        dataset=config["fenix"]["dataset"],
        destination_table=config["fenix"]["dst_tbl"],
        write_dir=output_dir,
        query_fpath=config["fenix"]["query_fpath"],
    )
    generate_view(
        target_project,
        dataset=config["fenix"]["dataset"],
        destination_table=config["fenix"]["dst_tbl"],
        write_dir=output_dir,
    )
    generate_metadata(
        target_project,
        dataset=config["fenix"]["dataset"],
        destination_table=config["fenix"]["dst_tbl"],
        write_dir=output_dir,
        friendly_table_name=config["fenix"]["friendly_nm"],
    )
    generate_schema(
        target_project,
        dataset=config["fenix"]["dataset"],
        destination_table=config["fenix"]["dst_tbl"],
        write_dir=output_dir,
    )
    # NEXT - generate firefox desktop one
    generate_query(
        project=target_project,
        dataset=config["firefox"]["dataset"],
        destination_table=config["firefox"]["dst_tbl"],
        write_dir=output_dir,
        query_fpath=config["firefox"]["query_fpath"],
    )
    generate_view(
        project=target_project,
        dataset=config["firefox"]["dataset"],
        destination_table=config["firefox"]["dst_tbl"],
        write_dir=output_dir,
    )
    generate_metadata(
        project=target_project,
        dataset=config["firefox"]["dataset"],
        destination_table=config["firefox"]["dst_tbl"],
        write_dir=output_dir,
        friendly_table_name=config["firefox"]["friendly_nm"],
    )
    generate_schema(
        project=target_project,
        dataset=config["firefox"]["dataset"],
        destination_table=config["firefox"]["dst_tbl"],
        write_dir=output_dir,
    )