feat: show base directory only when subfolder values collide

This commit is contained in:
Dariusz L
2026-06-12 17:35:53 +02:00
parent 1cd9668db2
commit f6c2d924a5
+25 -5
View File
@@ -1963,12 +1963,10 @@ class ModelResolverExtension:
if base_dir
else ""
)
label = (
f"{rel_path} ({base_label})" if base_label else rel_path
)
subfolders[key] = {
"value": rel_path,
"label": label,
"label": rel_path,
"base_label": base_label,
"base_directory": base_dir,
}
@@ -2024,9 +2022,31 @@ class ModelResolverExtension:
)
add_subfolder(rel_path, base_dir)
value_counts = {}
for item in subfolders.values():
value_key = item.get("value", "").lower()
value_counts[value_key] = value_counts.get(value_key, 0) + 1
response_items = []
for item in subfolders.values():
value = item.get("value", "")
base_label = item.get("base_label", "")
label = (
f"{value} ({base_label})"
if base_label and value_counts.get(value.lower(), 0) > 1
else value
)
response_items.append(
{
"value": value,
"label": label,
"base_directory": item.get("base_directory", ""),
}
)
return web.json_response(
sorted(
subfolders.values(),
response_items,
key=lambda item: (
item.get("value", "").lower(),
item.get("base_directory", "").lower(),