66 lines
2.3 KiB
Python
66 lines
2.3 KiB
Python
|
|
import json
|
|
import os
|
|
|
|
def check_truth():
|
|
file_path = "raw_api_response.json"
|
|
if not os.path.exists(file_path):
|
|
print(f"❌ Datei {file_path} nicht gefunden.")
|
|
return
|
|
|
|
print(f"🧐 Analysiere {file_path}...")
|
|
try:
|
|
with open(file_path, "r") as f:
|
|
data = json.load(f)
|
|
|
|
udfs = data.get("UserDefinedFields", {})
|
|
print(f"✅ JSON erfolgreich geladen. UDFs gefunden: {len(udfs)}")
|
|
|
|
invalid_keys = []
|
|
for key in udfs.keys():
|
|
if not isinstance(key, str):
|
|
invalid_keys.append((key, type(key)))
|
|
|
|
if invalid_keys:
|
|
print(f"❌ FEHLER GEFUNDEN! Folgende Keys sind KEINE Strings:")
|
|
for k, t in invalid_keys:
|
|
print(f" - Key: {k}, Typ: {t}")
|
|
else:
|
|
print("✅ Alle Keys in UserDefinedFields sind valide Strings.")
|
|
|
|
# Jetzt prüfen wir unsere eigenen Settings gegen dieses Dict
|
|
print("\n--- Teste Zugriff mit unseren Settings ---")
|
|
from dotenv import load_dotenv
|
|
import sys
|
|
|
|
# Pfad zum Hauptverzeichnis für .env
|
|
dotenv_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '.env'))
|
|
load_dotenv(dotenv_path=dotenv_path, override=True)
|
|
|
|
# Pfad für config import
|
|
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))
|
|
from config import settings
|
|
|
|
test_keys = {
|
|
"Vertical": settings.UDF_VERTICAL,
|
|
"Summary": settings.UDF_SUMMARY,
|
|
"Opener": settings.UDF_OPENER
|
|
}
|
|
|
|
for name, key in test_keys.items():
|
|
print(f"Prüfe {name} (Key: '{key}', Typ: {type(key)})...")
|
|
try:
|
|
# Das ist die Stelle, die vorhin zum Absturz führte
|
|
val = udfs.get(key)
|
|
print(f" -> Zugriff erfolgreich! Wert: {val}")
|
|
except TypeError as e:
|
|
print(f" -> ❌ ABSTURZ: {e}")
|
|
if isinstance(key, dict):
|
|
print(f" Grund: settings.UDF_{name.upper()} ist ein DICTIONARY!")
|
|
|
|
except Exception as e:
|
|
print(f"❌ Allgemeiner Fehler bei der Analyse: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
check_truth()
|