71 lines
2.2 KiB
Python
71 lines
2.2 KiB
Python
import sqlite3
|
|
|
|
DB_PATH = "companies_v3_fixed_2.db"
|
|
|
|
UNIT_MAPPING = {
|
|
"Logistics - Warehouse": "m²",
|
|
"Healthcare - Hospital": "Betten",
|
|
"Infrastructure - Transport": "Passagiere",
|
|
"Leisure - Indoor Active": "m²",
|
|
"Retail - Food": "m²",
|
|
"Retail - Shopping Center": "m²",
|
|
"Hospitality - Gastronomy": "Sitzplätze",
|
|
"Leisure - Outdoor Park": "Besucher",
|
|
"Leisure - Wet & Spa": "Besucher",
|
|
"Infrastructure - Public": "Kapazität",
|
|
"Retail - Non-Food": "m²",
|
|
"Hospitality - Hotel": "Zimmer",
|
|
"Leisure - Entertainment": "Besucher",
|
|
"Healthcare - Care Home": "Plätze",
|
|
"Industry - Manufacturing": "Mitarbeiter",
|
|
"Energy - Grid & Utilities": "Kunden",
|
|
"Leisure - Fitness": "Mitglieder",
|
|
"Corporate - Campus": "Mitarbeiter",
|
|
"Energy - Solar/Wind": "MWp",
|
|
"Tech - Data Center": "Racks",
|
|
"Automotive - Dealer": "Fahrzeuge",
|
|
"Infrastructure Parking": "Stellplätze",
|
|
"Reinigungsdienstleister": "Mitarbeiter",
|
|
"Infrastructure - Communities": "Einwohner"
|
|
}
|
|
|
|
def fix_units():
|
|
print(f"Connecting to {DB_PATH}...")
|
|
conn = sqlite3.connect(DB_PATH)
|
|
cursor = conn.cursor()
|
|
|
|
try:
|
|
cursor.execute("SELECT id, name, scraper_search_term, metric_type FROM industries")
|
|
rows = cursor.fetchall()
|
|
|
|
updated_count = 0
|
|
|
|
for row in rows:
|
|
ind_id, name, current_term, m_type = row
|
|
|
|
new_term = UNIT_MAPPING.get(name)
|
|
|
|
# Fallback Logic
|
|
if not new_term:
|
|
if m_type in ["AREA_IN", "AREA_OUT"]:
|
|
new_term = "m²"
|
|
else:
|
|
new_term = "Anzahl" # Generic fallback
|
|
|
|
if current_term != new_term:
|
|
print(f"Updating '{name}': '{current_term}' -> '{new_term}'")
|
|
cursor.execute("UPDATE industries SET scraper_search_term = ? WHERE id = ?", (new_term, ind_id))
|
|
updated_count += 1
|
|
|
|
conn.commit()
|
|
print(f"\n✅ Updated {updated_count} industries with correct units.")
|
|
|
|
except Exception as e:
|
|
print(f"❌ Error: {e}")
|
|
conn.rollback()
|
|
finally:
|
|
conn.close()
|
|
|
|
if __name__ == "__main__":
|
|
fix_units()
|