import json import pymysql import os import re SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) CONFIG_PATH = os.path.join(SCRIPT_DIR, "agent_config.json") with open(CONFIG_PATH) as f: config = json.load(f) MYSQL_HOST = config.get("MySQLHost", "localhost") MYSQL_USER = config.get("MySQLUser", "user") MYSQL_PASSWORD = config.get("MySQLPassword", "password") MYSQL_DB = config.get("MySQLDatabase", "netgescon") conn = pymysql.connect( host=MYSQL_HOST, user=MYSQL_USER, password=MYSQL_PASSWORD, db=MYSQL_DB, charset='utf8mb4' ) cur = conn.cursor() cur.execute("SHOW TABLES;") tutte = [r[0] for r in cur.fetchall()] totale = 0 trovate = [] for tab in tutte: try: cur.execute(f"SHOW COLUMNS FROM `{tab}`;") colonne = [r[0].lower() for r in cur.fetchall()] if "codice" in colonne and "nome" in colonne: trovate.append(tab) except Exception: continue if not trovate: print("Nessuna tabella con colonne 'codice' e 'nome' trovata.") else: for tab in trovate: cur.execute(f"SELECT COUNT(*) FROM `{tab}`;") n = cur.fetchone()[0] print(f"\nTabella: {tab} ({n} condomini)") if n > 0: cur.execute(f"SELECT * FROM `{tab}` LIMIT 5;") rows = cur.fetchall() cur.execute(f"SHOW COLUMNS FROM `{tab}`;") colonne = [r[0] for r in cur.fetchall()] for r in rows: dati = {col: val for col, val in zip(colonne, r)} print(" ", dati) totale += n print(f"\nTotale condomini in tutte le tabelle trovate: {totale}") cur.close() conn.close()