fix(organize): exclude Civitai meta tags from folder names (#1119)

Follow-up to the keyword-dump guard. The reported model's tag list is
["lora, character, ... face", "base model"], so skipping the dump left the
"base model" label to be picked as the folder name. That label describes
Civitai's listing rather than the model's content, which makes it as
meaningless as a folder as the blob was.

Add CIVITAI_META_TAGS and is_civitai_meta_tag(), and skip those labels in
the automatic fallback. An explicit priority entry still matches them, so a
user who does want a "base model" folder can configure one.

The reported model now resolves to "Krea 2/no tags" instead of
"Krea 2/base model".

Also correct a comment that listed ".civitai.info" among the files sitting
next to a model. LoRA Manager only reads that sidecar -- other tools write
it -- and writes ".metadata.json" itself.
This commit is contained in:
Will Miao
2026-09-23 13:33:59 +08:00
parent 0ada32d0c7
commit 74736f7560
7 changed files with 93 additions and 7 deletions
@@ -239,7 +239,11 @@ async def test_successful_download_uses_defaults(
def test_calculate_relative_path_ignores_keyword_dump_tag():
"""The #1119 download flow: a keyword-dump tag must not become a folder."""
"""The #1119 download flow: the real tag list must not become a folder.
The model's only two tags are the keyword dump and Civitai's "base model"
label, so nothing usable is left and the template falls back to "no tags".
"""
keyword_dump = (
"lora, character, rosie, irish, redhead, auburn, freckles, green eyes, "
"curly hair, woman, female, photorealistic, realistic, krea2, dark beast, "
@@ -257,7 +261,7 @@ def test_calculate_relative_path_ignores_keyword_dump_tag():
"lora",
)
assert relative_path == "MappedModel/base model"
assert relative_path == "MappedModel/no tags"
assert keyword_dump not in relative_path
assert len(relative_path) < 50