25 lines
861 B
Python
25 lines
861 B
Python
from __future__ import annotations
|
|
|
|
import argparse
|
|
|
|
from .database import SessionLocal
|
|
from .importer import import_records
|
|
|
|
|
|
def main() -> int:
|
|
parser = argparse.ArgumentParser(prog="python -m app.cli")
|
|
sub = parser.add_subparsers(dest="command", required=True)
|
|
command = sub.add_parser("import-records")
|
|
command.add_argument("--url", default="https://rf4game.de/records/region/RU/")
|
|
command.add_argument("--region", default="RU")
|
|
command.add_argument("--category", default="records")
|
|
args = parser.parse_args()
|
|
with SessionLocal() as session:
|
|
run = import_records(session, url=args.url, region=args.region, category=args.category)
|
|
print(f"import {run.status.value}: seen={run.rows_seen} created={run.rows_created} updated={run.rows_updated}")
|
|
return 0
|
|
|
|
|
|
if __name__ == "__main__":
|
|
raise SystemExit(main())
|