Files
robertvoy-ComfyUI-Distributed/utils/parsing.py
T
Robert Wojciechowski 3058b11ff2 Remove list splitter/collector feature and refactor distributed modules
- Remove DistributedListSplitter and DistributedListCollector nodes
- Remove /distributed/init_list_queue and /distributed/request_list_item endpoints
- Clean up all references from prompt_transform, queue_orchestration, constants, and tests
- Refactor and reorganize distributed modules for quality improvements
2026-03-07 05:22:09 +00:00

35 lines
1.1 KiB
Python

from __future__ import annotations
from typing import Any
def require_bool_literal(value: Any, *, field_name: str = "value") -> bool:
"""Strict boolean parser for API boundaries."""
if isinstance(value, bool):
return value
if isinstance(value, str):
normalized = value.strip().lower()
if normalized == "true":
return True
if normalized == "false":
return False
raise ValueError(f"Field '{field_name}' must be a boolean literal ('true' or 'false').")
def coerce_bool(value: Any, default: bool = False) -> bool:
"""Permissive boolean parser for internal/runtime values."""
if isinstance(value, bool):
return value
if isinstance(value, str):
normalized = value.strip().lower()
if normalized in {"1", "true", "yes", "on"}:
return True
if normalized in {"0", "false", "no", "off", ""}:
return False
return default
if value is None:
return default
if isinstance(value, (int, float)):
return bool(value)
return default