Finished implementation of configuration resolver

This commit is contained in:
2025-01-09 14:20:59 +01:00
parent 8fb0cecfbe
commit c87c1df10a
4 changed files with 34 additions and 17 deletions

View File

@@ -49,7 +49,12 @@ class ConfigurationResolver:
(item for item in current if isinstance(item, dict) and item.get("name", "").lower() == part),
None
)
if found is None:
if found:
print(
f"Matching entry for '{part}' in list. Path so far: {' > '.join(parts[:parts.index(part)+1])}. "
f"Current list: {current}"
)
else:
raise ValueError(
f"No matching entry for '{part}' in list. Path so far: {' > '.join(parts[:parts.index(part)+1])}. "
f"Current list: {current}"
@@ -71,7 +76,7 @@ class ConfigurationResolver:
)
# Navigate into `subitems` if present
if isinstance(current, dict) and "subitems" in current:
if isinstance(current, dict) and ("subitems" in current and current["subitems"]):
current = current["subitems"]
return current