Extract builder config route
This commit is contained in:
+32
-34
@@ -5,6 +5,7 @@ from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
try:
|
||||
from . import builder_config_route as builder_config_route_policy
|
||||
from .category_library import (
|
||||
compatible_entries as _compatible_entries,
|
||||
compatible_entry as _compatible_entry,
|
||||
@@ -51,6 +52,7 @@ try:
|
||||
sanitize_hardcore_environment_anchors as _sanitize_hardcore_environment_anchors,
|
||||
)
|
||||
except ImportError: # Allows local smoke tests with `python -c`.
|
||||
import builder_config_route as builder_config_route_policy
|
||||
from category_library import (
|
||||
compatible_entries as _compatible_entries,
|
||||
compatible_entry as _compatible_entry,
|
||||
@@ -2609,6 +2611,16 @@ def build_prompt(
|
||||
return row
|
||||
|
||||
|
||||
def _prompt_from_configs_dependencies() -> builder_config_route_policy.PromptFromConfigsDependencies:
|
||||
return builder_config_route_policy.PromptFromConfigsDependencies(
|
||||
parse_category_config=_parse_category_config,
|
||||
parse_cast_config=_parse_cast_config,
|
||||
parse_generation_profile=_parse_generation_profile,
|
||||
parse_filter_config=_parse_filter_config,
|
||||
build_prompt=build_prompt,
|
||||
)
|
||||
|
||||
|
||||
def build_prompt_from_configs(
|
||||
row_number: int,
|
||||
start_index: int,
|
||||
@@ -2627,40 +2639,26 @@ def build_prompt_from_configs(
|
||||
extra_positive: str = "",
|
||||
extra_negative: str = "",
|
||||
) -> dict[str, Any]:
|
||||
category, subcategory = _parse_category_config(category_config)
|
||||
cast = _parse_cast_config(cast_config)
|
||||
profile = _parse_generation_profile(generation_profile)
|
||||
filters = _parse_filter_config(filter_config)
|
||||
return build_prompt(
|
||||
category=category,
|
||||
subcategory=subcategory,
|
||||
row_number=row_number,
|
||||
start_index=start_index,
|
||||
seed=seed,
|
||||
clothing=profile["clothing"],
|
||||
ethnicity=filters["ethnicity"],
|
||||
poses=profile["poses"],
|
||||
expression_enabled=profile["expression_enabled"],
|
||||
expression_intensity=profile["expression_intensity"],
|
||||
backside_bias=profile["backside_bias"],
|
||||
figure=filters["figure"],
|
||||
no_plus_women=filters["no_plus_women"],
|
||||
no_black=filters["no_black"],
|
||||
women_count=int(cast["women_count"]),
|
||||
men_count=int(cast["men_count"]),
|
||||
minimal_clothing_ratio=profile["minimal_clothing_ratio"],
|
||||
standard_pose_ratio=profile["standard_pose_ratio"],
|
||||
trigger=profile["trigger"],
|
||||
prepend_trigger_to_prompt=profile["prepend_trigger_to_prompt"],
|
||||
extra_positive=extra_positive or "",
|
||||
extra_negative=extra_negative or "",
|
||||
seed_config=seed_config or "",
|
||||
camera_config=camera_config or "",
|
||||
character_profile=character_profile or "",
|
||||
character_cast=character_cast or "",
|
||||
hardcore_position_config=hardcore_position_config or "",
|
||||
location_config=location_config or "",
|
||||
composition_config=composition_config or "",
|
||||
return builder_config_route_policy.build_prompt_from_configs(
|
||||
builder_config_route_policy.PromptFromConfigsRequest(
|
||||
row_number=row_number,
|
||||
start_index=start_index,
|
||||
seed=seed,
|
||||
category_config=category_config,
|
||||
cast_config=cast_config,
|
||||
generation_profile=generation_profile,
|
||||
filter_config=filter_config,
|
||||
seed_config=seed_config,
|
||||
camera_config=camera_config,
|
||||
character_profile=character_profile,
|
||||
character_cast=character_cast,
|
||||
hardcore_position_config=hardcore_position_config,
|
||||
location_config=location_config,
|
||||
composition_config=composition_config,
|
||||
extra_positive=extra_positive,
|
||||
extra_negative=extra_negative,
|
||||
),
|
||||
_prompt_from_configs_dependencies(),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user