"""Extraction ciblee des tables Client/Adresse/Client_Adresse/ParametreMetier depuis schema-compatibilite-batik-omika.json. Script temporaire d'analyse. """ import json import io with io.open(r"docs/schema-compatibilite-batik-omika.json", encoding="utf-8") as f: data = json.load(f) tables = data.get("tables", []) if not isinstance(tables, list): print("tables n'est pas une liste:", type(tables).__name__) raise SystemExit print("Nombre d'entrees:", len(tables)) if tables: sample = tables[0] print("Structure d'un element:", type(sample).__name__) if isinstance(sample, dict): print("Cles:", list(sample.keys())) names = ("Client", "Adresse", "Client_Adresse", "ParametreMetier", "ParametreMetierEntete") for entry in tables: if not isinstance(entry, dict): continue name = entry.get("name") or entry.get("table") or entry.get("tableName") if name not in names: continue print(f"== {name}") for key, value in entry.items(): if key == "columns" and isinstance(value, list): cols = ", ".join(str(c) for c in value[:200]) print(f" columns ({len(value)}): {cols}") elif isinstance(value, dict): print(f" {key}: {list(value.keys())}") else: print(f" {key}: {value}")