def cli()

in fluent/migrate/tool.py [0:0]


def cli():
    parser = argparse.ArgumentParser(description="Migrate translations to FTL.")
    parser.add_argument(
        "migrations",
        metavar="MIGRATION",
        type=str,
        nargs="+",
        help="migrations to run (Python modules)",
    )
    parser.add_argument(
        "--locale", "--lang", type=str, help="target locale code (--lang is deprecated)"
    )
    parser.add_argument(
        "--reference-dir", type=str, help="directory with reference FTL files"
    )
    parser.add_argument(
        "--localization-dir", type=str, help="directory for localization files"
    )
    parser.add_argument(
        "--dry-run",
        action="store_true",
        help="do not write to disk nor commit any changes",
    )
    parser.set_defaults(dry_run=False)

    logger = logging.getLogger("migrate")
    logger.setLevel(logging.INFO)

    args = parser.parse_args()

    # Don't byte-compile migrations.
    # They're not our code, and infrequently run
    with dont_write_bytecode():
        migrations = map(importlib.import_module, args.migrations)

    main(
        locale=args.locale,
        reference_dir=args.reference_dir,
        localization_dir=args.localization_dir,
        migrations=migrations,
        dry_run=args.dry_run,
    )