41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
"""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}")
|
|
|
|
|