def get_argument_parser(description): """Get the argument parser for the shared glean usage queries.""" parser = ArgumentParser(description=description) parser.add_argument( "--project_id", "--project-id", default="moz-fx-data-shar-nonprod-efed", help="ID of the project in which to find tables", ) parser.add_argument( "--date", required=True, type=lambda d: datetime.strptime(d, "%Y-%m-%d").date(), help="Date partition to process, in format 2019-01-01", ) parser.add_argument( "--output_dir", "--output-dir", help="Also write the query text underneath the given sql dir", ) parser.add_argument( "--output_only", "--output-only", "--views_only", # Deprecated name "--views-only", # Deprecated name action="store_true", help=( "If set, we only write out sql to --output-dir and we skip" " running the queries" ), ) standard_args.add_parallelism(parser) standard_args.add_dry_run(parser, debug_log_queries=False) standard_args.add_log_level(parser) standard_args.add_priority(parser) standard_args.add_billing_projects(parser) standard_args.add_table_filter(parser) return parser
f" defaults to: {DEFAULT_PATTERN}", ) parser.add_argument( "--exclude", action="append", default=[DEFAULT_EXCLUDE], metavar="project:dataset.table", help= "Latest-version views that should be ignored, may use shell-style wildcards," f" defaults to: {DEFAULT_EXCLUDE}", ) parser.add_argument("--sql-dir", default="sql/", help="The path where generated SQL files are stored.") standard_args.add_log_level(parser) standard_args.add_parallelism(parser) def main(): """Generate view definitions.""" args = parser.parse_args() # set log level try: logging.basicConfig(level=args.log_level, format="%(levelname)s %(message)s") except ValueError as e: parser.error(f"argument --log-level: {e}") client = bigquery.Client() tables = get_tables_matching_patterns(client, args.patterns)