import asyncio import httpx from sqlalchemy import text from app.db.session import SessionLocal async def seed(): print("🚀 RDW Márka-felfedezés indul...") url = "https://opendata.rdw.nl/resource/m9d7-ebf2.json?$select=distinct%20merk&$limit=50000" async with httpx.AsyncClient() as client: resp = await client.get(url, timeout=60) if resp.status_code != 200: print(f"❌ Hiba: {resp.status_code}") return makes = resp.json() print(f"📦 {len(makes)} márkát találtam. Mentés...") async with SessionLocal() as db: for item in makes: m = item['merk'].upper() # ON CONFLICT: Ha már benne van (pl. n8n betette), ne legyen hiba await db.execute(text(""" INSERT INTO data.catalog_discovery (make, model, source, status) VALUES (:m, 'ALL', 'global_seed', 'pending') ON CONFLICT DO NOTHING """), {"m": m}) await db.commit() print("✅ Kész! A discovery tábla felöltve az összes EU-s márkával.") if __name__ == "__main__": asyncio.run(seed())