Centralize helper seed selection

This commit is contained in:
2026-06-27 14:16:03 +02:00
parent c7e4bdc373
commit 7bc08ada47
4 changed files with 57 additions and 39 deletions
+7 -19
View File
@@ -8,6 +8,7 @@ try:
from .seed_config import (
build_seed_config_json,
build_seed_lock_config_json,
configured_seed_from_axes,
normalize_reroll_axis,
seed_reroll_axis_choices,
seed_mode_choices,
@@ -16,6 +17,7 @@ except ImportError: # Allows local smoke tests from the repository root.
from seed_config import (
build_seed_config_json,
build_seed_lock_config_json,
configured_seed_from_axes,
normalize_reroll_axis,
seed_reroll_axis_choices,
seed_mode_choices,
@@ -225,25 +227,11 @@ class SxCPSDXLBucketSize:
@staticmethod
def _configured_bucket_seed(seed_config):
if not seed_config:
return None
if isinstance(seed_config, dict):
raw = seed_config
else:
try:
raw = json.loads(str(seed_config))
except (TypeError, ValueError, json.JSONDecodeError):
return None
if not isinstance(raw, dict):
return None
for key in ("composition_seed", "content_seed", "seed", "global_seed"):
try:
value = int(raw.get(key))
except (TypeError, ValueError):
continue
if value >= 0:
return value
return None
return configured_seed_from_axes(
seed_config,
("composition", "content"),
extra_keys=("seed", "global_seed"),
)
@classmethod
def IS_CHANGED(cls, *args, **kwargs):