Initial commit: Robot ökoszisztéma v2.0 - Stabilizált jármű és szerviz robotok

This commit is contained in:
Kincses
2026-03-04 02:03:03 +01:00
commit 250f4f4b8f
7942 changed files with 449625 additions and 0 deletions

67
backend/full_discovery_bot.py Executable file
View File

@@ -0,0 +1,67 @@
import asyncio
from sqlalchemy import text
from app.db.session import engine
# 200+ Márka és Típus adatok
DATA = {
"CAR": {
"Toyota": ["Corolla", "Yaris", "RAV4", "Hilux", "C-HR", "Land Cruiser", "Camry"],
"Volkswagen": ["Golf", "Passat", "Polo", "Tiguan", "T-Roc", "Arteon", "Caddy"],
"BMW": ["3 Series", "5 Series", "X5", "X3", "1 Series", "7 Series", "X1"],
"Mercedes-Benz": ["C-Class", "E-Class", "S-Class", "GLC", "GLE", "A-Class", "CLA"],
"Audi": ["A3", "A4", "A6", "Q3", "Q5", "Q7", "A5", "TT"],
"Ford": ["Focus", "Fiesta", "Kuga", "Puma", "Transit", "Ranger", "Mondeo", "Mustang"],
"Opel": ["Astra", "Corsa", "Insignia", "Mokka", "Grandland", "Crossland", "Vivaro"],
"Suzuki": ["Swift", "Vitara", "S-Cross", "Ignis", "Jimny", "Baleno"],
"Skoda": ["Octavia", "Fabia", "Superb", "Kodiaq", "Karoq", "Kamiq", "Scala"],
"Hyundai": ["i30", "Tucson", "i20", "Kona", "Santa Fe", "Ioniq 5", "Bayon"],
"Kia": ["Ceed", "Sportage", "Rio", "Niro", "Sorento", "Picanto", "Stonic"],
"Renault": ["Clio", "Megane", "Captur", "Kadjar", "Master", "Trafic", "Zoe", "Arkana"],
"Peugeot": ["208", "308", "2008", "3008", "5008", "508", "Rifter"],
"Volvo": ["XC60", "XC40", "XC90", "V60", "S60", "V90", "S90"],
"Mazda": ["CX-5", "Mazda3", "Mazda6", "CX-30", "MX-5", "CX-3"],
"Fiat": ["500", "Panda", "Tipo", "Ducato", "Doblo", "500X"],
"Dacia": ["Duster", "Sandero", "Logan", "Jogger", "Spring"],
"Nissan": ["Qashqai", "Juke", "X-Trail", "Leaf", "Micra", "Navara"],
"Tesla": ["Model 3", "Model Y", "Model S", "Model X"],
"Lexus": ["RX", "NX", "UX", "ES", "IS", "LS"]
},
"MOTORCYCLE": {
"Honda": ["CB500", "CBR600", "Africa Twin", "NC750X", "Goldwing", "PCX", "SH125", "Forza 350"],
"Yamaha": ["MT-07", "MT-09", "R1", "R6", "Tracer 9", "Ténéré 700", "XMAX", "TMAX"],
"Kawasaki": ["Ninja 400", "Ninja 650", "Z900", "Z650", "Versys 650", "Vulcan S", "Z1000"],
"Suzuki": ["V-Strom 650", "GSX-R1000", "Hayabusa", "SV650", "Burgman", "GSX-S1000"],
"BMW Motorrad": ["R1250GS", "S1000RR", "F850GS", "R nineT", "G310GS", "K1600GT"],
"KTM": ["Duke 390", "Duke 790", "1290 Super Adventure", "300 EXC", "890 Adventure"],
"Ducati": ["Monster", "Multistrada", "Panigale V4", "Scrambler", "Diavel", "Streetfighter"],
"Harley-Davidson": ["Sportster", "Fat Boy", "Iron 883", "Pan America", "Road Glide"]
}
}
async def run_discovery():
async with engine.begin() as conn:
print("🚀 Jármű adatbázis mély-feltöltése indul...")
for cat_name, brands in DATA.items():
res = await conn.execute(text("SELECT id FROM data.vehicle_categories WHERE name = :n"), {"n": cat_name})
cat_id = res.scalar()
for brand_name, models in brands.items():
# Márka beszúrása
await conn.execute(text(
"INSERT INTO data.vehicle_brands (category_id, name) VALUES (:c, :n) ON CONFLICT (category_id, name) DO NOTHING"
), {"c": cat_id, "n": brand_name})
# Márka ID lekérése
res_b = await conn.execute(text("SELECT id FROM data.vehicle_brands WHERE name = :n AND category_id = :c"), {"n": brand_name, "c": cat_id})
brand_id = res_b.scalar()
for m_name in models:
await conn.execute(text(
"INSERT INTO data.vehicle_models (brand_id, name) VALUES (:b, :n) ON CONFLICT (brand_id, name) DO NOTHING"
), {"b": brand_id, "n": m_name})
print("✅ Discovery Bot sikeresen betöltötte az adatokat!")
if __name__ == "__main__":
asyncio.run(run_discovery())