Extract Krea row field policy
This commit is contained in:
+41
-48
@@ -14,6 +14,7 @@ try:
|
||||
from . import krea_configured_cast_formatter
|
||||
from . import krea_normal_formatter
|
||||
from . import krea_pair_formatter
|
||||
from . import krea_row_fields
|
||||
from .hardcore_text_cleanup import (
|
||||
sanitize_hardcore_axis_values as _sanitize_hardcore_axis_values,
|
||||
sanitize_hardcore_environment_anchors as _sanitize_hardcore_environment_anchors,
|
||||
@@ -48,6 +49,7 @@ except ImportError: # Allows local smoke tests with `python -c`.
|
||||
import krea_configured_cast_formatter
|
||||
import krea_normal_formatter
|
||||
import krea_pair_formatter
|
||||
import krea_row_fields
|
||||
from hardcore_text_cleanup import (
|
||||
sanitize_hardcore_axis_values as _sanitize_hardcore_axis_values,
|
||||
sanitize_hardcore_environment_anchors as _sanitize_hardcore_environment_anchors,
|
||||
@@ -399,6 +401,17 @@ def _style_phrase(row: dict[str, Any], style_mode: str) -> str:
|
||||
return style or suffix
|
||||
|
||||
|
||||
def _krea_row_field_dependencies() -> krea_row_fields.KreaRowFieldDependencies:
|
||||
return krea_row_fields.KreaRowFieldDependencies(
|
||||
clean=_clean,
|
||||
row_value=_row_value,
|
||||
camera_phrase=_camera_phrase,
|
||||
camera_scene_phrase=_camera_scene_phrase,
|
||||
style_phrase=_style_phrase,
|
||||
expression_disabled=_expression_disabled,
|
||||
)
|
||||
|
||||
|
||||
def _krea_normal_row_dependencies() -> krea_normal_formatter.KreaNormalRowDependencies:
|
||||
return krea_normal_formatter.KreaNormalRowDependencies(
|
||||
clean=_clean,
|
||||
@@ -416,33 +429,25 @@ def _krea_normal_row_request_from_row(
|
||||
detail_level: str,
|
||||
style_mode: str,
|
||||
) -> krea_normal_formatter.KreaNormalRowRequest:
|
||||
subject_type = _clean(row.get("subject_type"))
|
||||
primary = _clean(row.get("primary_subject"))
|
||||
item = _row_value(row, "item", ("Sexual pose", "Erotic outfit", "Clothing")) or _clean(row.get("custom_item"))
|
||||
item = re.sub(r",?\s*(fashion editorial|resort) styling$", "", item, flags=re.IGNORECASE)
|
||||
scene = _row_value(row, "scene_text", ("Setting", "Scene")) or _clean(row.get("scene"))
|
||||
pose = _row_value(row, "pose", ("Sexual pose", "Pose"))
|
||||
expression = ""
|
||||
if not _expression_disabled(row):
|
||||
expression = _row_value(row, "character_expression_text") or _row_value(row, "expression", ("Facial expressions", "Facial expression"))
|
||||
composition = re.sub(r"^vertical\s+", "", _row_value(row, "composition", ("Composition",)), flags=re.IGNORECASE)
|
||||
camera = _camera_phrase(row)
|
||||
camera_scene = _camera_scene_phrase(row)
|
||||
style = _style_phrase(row, style_mode)
|
||||
fields = krea_row_fields.extract_krea_row_fields(
|
||||
row,
|
||||
style_mode,
|
||||
_krea_row_field_dependencies(),
|
||||
)
|
||||
return krea_normal_formatter.KreaNormalRowRequest(
|
||||
row=row,
|
||||
detail_level=detail_level,
|
||||
style_mode=style_mode,
|
||||
subject_type=subject_type,
|
||||
primary=primary,
|
||||
item=item,
|
||||
scene=scene,
|
||||
pose=pose,
|
||||
expression=expression,
|
||||
composition=composition,
|
||||
camera=camera,
|
||||
camera_scene=camera_scene,
|
||||
style=style,
|
||||
subject_type=fields.subject_type,
|
||||
primary=fields.primary,
|
||||
item=fields.item,
|
||||
scene=fields.scene,
|
||||
pose=fields.pose,
|
||||
expression=fields.expression,
|
||||
composition=fields.composition,
|
||||
camera=fields.camera,
|
||||
camera_scene=fields.camera_scene,
|
||||
style=fields.style,
|
||||
)
|
||||
|
||||
|
||||
@@ -505,36 +510,24 @@ def _krea_configured_cast_request_from_row(
|
||||
detail_level: str,
|
||||
style_mode: str,
|
||||
) -> krea_configured_cast_formatter.KreaConfiguredCastRequest:
|
||||
primary = _clean(row.get("primary_subject"))
|
||||
item = _row_value(row, "item", ("Sexual pose", "Erotic outfit", "Clothing")) or _clean(row.get("custom_item"))
|
||||
item = re.sub(r",?\s*(fashion editorial|resort) styling$", "", item, flags=re.IGNORECASE)
|
||||
scene = _row_value(row, "scene_text", ("Setting", "Scene")) or _clean(row.get("scene"))
|
||||
expression = ""
|
||||
if not _expression_disabled(row):
|
||||
expression = _row_value(row, "character_expression_text") or _row_value(row, "expression", ("Facial expressions", "Facial expression"))
|
||||
composition = re.sub(r"^vertical\s+", "", _row_value(row, "composition", ("Composition",)), flags=re.IGNORECASE)
|
||||
source_composition = re.sub(
|
||||
r"^vertical\s+",
|
||||
"",
|
||||
_clean(row.get("source_composition")) or composition,
|
||||
flags=re.IGNORECASE,
|
||||
fields = krea_row_fields.extract_krea_row_fields(
|
||||
row,
|
||||
style_mode,
|
||||
_krea_row_field_dependencies(),
|
||||
)
|
||||
camera = _camera_phrase(row)
|
||||
camera_scene = _camera_scene_phrase(row)
|
||||
style = _style_phrase(row, style_mode)
|
||||
return _krea_configured_cast_request(
|
||||
row,
|
||||
detail_level,
|
||||
style_mode,
|
||||
primary,
|
||||
item,
|
||||
scene,
|
||||
expression,
|
||||
composition,
|
||||
source_composition,
|
||||
camera,
|
||||
camera_scene,
|
||||
style,
|
||||
fields.primary,
|
||||
fields.item,
|
||||
fields.scene,
|
||||
fields.expression,
|
||||
fields.composition,
|
||||
fields.source_composition,
|
||||
fields.camera,
|
||||
fields.camera_scene,
|
||||
fields.style,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user