Centralize formatter route metadata
This commit is contained in:
+6
-13
@@ -5,15 +5,13 @@ from typing import Any
|
||||
|
||||
try:
|
||||
from . import formatter_input as input_policy
|
||||
from . import category_template_metadata as template_metadata_policy
|
||||
from . import route_metadata as route_metadata_policy
|
||||
from . import sdxl_presets as sdxl_policy
|
||||
from .hardcore_action_metadata import normalize_hardcore_action_family
|
||||
from .prompt_hygiene import sanitize_negative_text, sanitize_tag_prompt
|
||||
except ImportError: # Allows local smoke tests with `python -c`.
|
||||
import formatter_input as input_policy
|
||||
import category_template_metadata as template_metadata_policy
|
||||
import route_metadata as route_metadata_policy
|
||||
import sdxl_presets as sdxl_policy
|
||||
from hardcore_action_metadata import normalize_hardcore_action_family
|
||||
from prompt_hygiene import sanitize_negative_text, sanitize_tag_prompt
|
||||
|
||||
|
||||
@@ -121,18 +119,13 @@ def _add_one(tags: list[str], seen: set[str], tag: str) -> None:
|
||||
|
||||
def _metadata_family_tags(row: dict[str, Any]) -> list[str]:
|
||||
tags: list[str] = []
|
||||
action_family = normalize_hardcore_action_family(row.get("action_family"))
|
||||
action_family = route_metadata_policy.row_action_family(row)
|
||||
tags.extend(SDXL_ACTION_FAMILY_TAGS.get(action_family, ()))
|
||||
|
||||
position_family = _clean(row.get("position_family")).lower()
|
||||
position_family = route_metadata_policy.row_position_family(row)
|
||||
tags.extend(SDXL_POSITION_FAMILY_TAGS.get(position_family, ()))
|
||||
|
||||
position_keys = row.get("position_keys")
|
||||
if isinstance(position_keys, list):
|
||||
keys = position_keys
|
||||
else:
|
||||
keys = [row.get("position_key")]
|
||||
for key in keys:
|
||||
for key in route_metadata_policy.row_position_keys(row, include_unknown=True):
|
||||
key_text = _clean(key)
|
||||
if key_text:
|
||||
tags.append(key_text.replace("_", " "))
|
||||
@@ -144,7 +137,7 @@ def _formatter_hint_tags(*rows: dict[str, Any]) -> list[str]:
|
||||
for row in rows:
|
||||
if not isinstance(row, dict):
|
||||
continue
|
||||
for hint in template_metadata_policy.formatter_hints_for_route(row, "sdxl"):
|
||||
for hint in route_metadata_policy.row_formatter_hints(row, "sdxl"):
|
||||
hint = _clean(hint).strip(" ,.")
|
||||
if hint and hint not in tags:
|
||||
tags.append(hint)
|
||||
|
||||
Reference in New Issue
Block a user