Harden formatter preset normalization
This commit is contained in:
@@ -77,7 +77,12 @@ def normalize_detail_level(value: str) -> str:
|
|||||||
return detail_policy.normalize_detail_level(value)
|
return detail_policy.normalize_detail_level(value)
|
||||||
|
|
||||||
|
|
||||||
|
def _choice_key(value: Any) -> str:
|
||||||
|
return str(value or "").strip().lower().replace("-", "_").replace(" ", "_")
|
||||||
|
|
||||||
|
|
||||||
def normalize_style_policy(value: str) -> str:
|
def normalize_style_policy(value: str) -> str:
|
||||||
|
value = _choice_key(value)
|
||||||
return value if value in STYLE_POLICIES else "drop_style_tail"
|
return value if value in STYLE_POLICIES else "drop_style_tail"
|
||||||
|
|
||||||
|
|
||||||
@@ -90,6 +95,7 @@ def caption_profile_choices() -> list[str]:
|
|||||||
|
|
||||||
|
|
||||||
def normalize_caption_profile(value: str) -> str:
|
def normalize_caption_profile(value: str) -> str:
|
||||||
|
value = _choice_key(value)
|
||||||
return value if value in CAPTION_PROFILES else CAPTION_PROFILE_DEFAULT
|
return value if value in CAPTION_PROFILES else CAPTION_PROFILE_DEFAULT
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
|
|
||||||
DEFAULT_STYLE_PRESET = "flat_vector_pony"
|
DEFAULT_STYLE_PRESET = "flat_vector_pony"
|
||||||
DEFAULT_QUALITY_PRESET = "pony_high"
|
DEFAULT_QUALITY_PRESET = "pony_high"
|
||||||
@@ -79,15 +81,22 @@ def sdxl_formatter_profile_choices() -> list[str]:
|
|||||||
return list(SDXL_FORMATTER_PROFILES)
|
return list(SDXL_FORMATTER_PROFILES)
|
||||||
|
|
||||||
|
|
||||||
|
def _choice_key(value: Any) -> str:
|
||||||
|
return str(value or "").strip().lower().replace("-", "_").replace(" ", "_")
|
||||||
|
|
||||||
|
|
||||||
def normalize_style_preset(value: str) -> str:
|
def normalize_style_preset(value: str) -> str:
|
||||||
|
value = _choice_key(value)
|
||||||
return value if value in SDXL_STYLE_PRESETS else DEFAULT_STYLE_PRESET
|
return value if value in SDXL_STYLE_PRESETS else DEFAULT_STYLE_PRESET
|
||||||
|
|
||||||
|
|
||||||
def normalize_quality_preset(value: str) -> str:
|
def normalize_quality_preset(value: str) -> str:
|
||||||
|
value = _choice_key(value)
|
||||||
return value if value in SDXL_QUALITY_PRESETS else DEFAULT_QUALITY_PRESET
|
return value if value in SDXL_QUALITY_PRESETS else DEFAULT_QUALITY_PRESET
|
||||||
|
|
||||||
|
|
||||||
def normalize_formatter_profile(value: str) -> str:
|
def normalize_formatter_profile(value: str) -> str:
|
||||||
|
value = _choice_key(value)
|
||||||
return value if value in SDXL_FORMATTER_PROFILES else DEFAULT_FORMATTER_PROFILE
|
return value if value in SDXL_FORMATTER_PROFILES else DEFAULT_FORMATTER_PROFILE
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3039,6 +3039,10 @@ def smoke_caption_policy() -> None:
|
|||||||
)
|
)
|
||||||
_expect(caption_policy.normalize_detail_level("bad") == "balanced", "Caption invalid detail fallback changed")
|
_expect(caption_policy.normalize_detail_level("bad") == "balanced", "Caption invalid detail fallback changed")
|
||||||
_expect(caption_policy.normalize_style_policy("bad") == "drop_style_tail", "Caption invalid style fallback changed")
|
_expect(caption_policy.normalize_style_policy("bad") == "drop_style_tail", "Caption invalid style fallback changed")
|
||||||
|
_expect(
|
||||||
|
caption_policy.normalize_style_policy("Keep Style Terms") == "keep_style_terms",
|
||||||
|
"Caption style policy should normalize spaces/case",
|
||||||
|
)
|
||||||
_expect(caption_policy.style_policy_choices() == ["drop_style_tail", "keep_style_terms"], "Caption style policy choices changed")
|
_expect(caption_policy.style_policy_choices() == ["drop_style_tail", "keep_style_terms"], "Caption style policy choices changed")
|
||||||
_expect(caption_policy.keep_style_terms("keep_style_terms") is True, "Caption style policy keep flag changed")
|
_expect(caption_policy.keep_style_terms("keep_style_terms") is True, "Caption style policy keep flag changed")
|
||||||
_expect(caption_policy.detail_allows("concise") is False, "Caption concise detail gate changed")
|
_expect(caption_policy.detail_allows("concise") is False, "Caption concise detail gate changed")
|
||||||
@@ -3048,6 +3052,10 @@ def smoke_caption_policy() -> None:
|
|||||||
caption_policy.normalize_caption_profile("bad") == caption_policy.CAPTION_PROFILE_DEFAULT,
|
caption_policy.normalize_caption_profile("bad") == caption_policy.CAPTION_PROFILE_DEFAULT,
|
||||||
"Caption invalid profile fallback changed",
|
"Caption invalid profile fallback changed",
|
||||||
)
|
)
|
||||||
|
_expect(
|
||||||
|
caption_policy.normalize_caption_profile("training-dense") == "training_dense",
|
||||||
|
"Caption profile should normalize hyphen spelling",
|
||||||
|
)
|
||||||
_expect(
|
_expect(
|
||||||
caption_policy.apply_caption_profile(
|
caption_policy.apply_caption_profile(
|
||||||
"training_dense",
|
"training_dense",
|
||||||
@@ -3381,8 +3389,11 @@ def smoke_sdxl_presets_policy() -> None:
|
|||||||
sdxl_presets.normalize_formatter_profile("bad") == sdxl_presets.DEFAULT_FORMATTER_PROFILE,
|
sdxl_presets.normalize_formatter_profile("bad") == sdxl_presets.DEFAULT_FORMATTER_PROFILE,
|
||||||
"SDXL invalid profile fallback changed",
|
"SDXL invalid profile fallback changed",
|
||||||
)
|
)
|
||||||
|
_expect(sdxl_presets.normalize_formatter_profile("SDXL Photo") == "sdxl_photo", "SDXL profile should normalize spaces/case")
|
||||||
_expect(sdxl_presets.normalize_style_preset("bad") == sdxl_presets.DEFAULT_STYLE_PRESET, "SDXL invalid style fallback changed")
|
_expect(sdxl_presets.normalize_style_preset("bad") == sdxl_presets.DEFAULT_STYLE_PRESET, "SDXL invalid style fallback changed")
|
||||||
|
_expect(sdxl_presets.normalize_style_preset("flat-vector-pony") == "flat_vector_pony", "SDXL style should normalize hyphens")
|
||||||
_expect(sdxl_presets.normalize_quality_preset("bad") == sdxl_presets.DEFAULT_QUALITY_PRESET, "SDXL invalid quality fallback changed")
|
_expect(sdxl_presets.normalize_quality_preset("bad") == sdxl_presets.DEFAULT_QUALITY_PRESET, "SDXL invalid quality fallback changed")
|
||||||
|
_expect(sdxl_presets.normalize_quality_preset("Pony High") == "pony_high", "SDXL quality should normalize spaces/case")
|
||||||
_expect(
|
_expect(
|
||||||
sdxl_presets.apply_formatter_profile(
|
sdxl_presets.apply_formatter_profile(
|
||||||
"sdxl_photo",
|
"sdxl_photo",
|
||||||
|
|||||||
Reference in New Issue
Block a user