Files
tenser-tensor-ComfyUI-Tense…/lib/workflow_classes.py
T

53 lines
1.6 KiB
Python

# (c) TenserTensor || Apache-2.0 (apache.org/licenses/LICENSE-2.0)
import dataclasses
from dataclasses import dataclass
from comfy.samplers import KSampler
@dataclass
class TTWorkflowSettings():
seed: int | None = None
steps: int | None = None
cfg: int | None = None
sampler_name: list[str] | None = None
scheduler_name: list[str] | None = None
clip_l_positive: str | None = None
clip_g_positive: str | None = None
t5xxl_positive: str | None = None
clip_l_negative: str | None = None
clip_g_negative: str | None = None
t5xxl_negative: str | None = None
guidance: float | None = None
ascore_positive: float | None = None
ascore_negative: float | None = None
width: int | None = None
height: int | None = None
target_width: int | None = None
target_height: int | None = None
@classmethod
def create(cls, **kwargs):
wf = cls()
for field in dataclasses.fields(wf):
setattr(wf, field.name, kwargs.get(field.name, None))
setattr(wf, "sampler_name", KSampler.SAMPLERS)
setattr(wf, "scheduler_name", KSampler.SCHEDULERS)
return wf
def set_attr(self, key, attr):
if hasattr(self, key):
setattr(self, key, attr)
else:
raise AttributeError(f"ERROR: Context has no attribute '{key}'")
def get_attr(self, key, default=None):
if hasattr(self, key):
val = getattr(self, key)
return val if val is not None else default
else:
raise AttributeError(f"ERROR: Context has no attribute '{key}'")