From 7a03f4e6786b00b99607a13b362961dd80d6cacf Mon Sep 17 00:00:00 2001 From: Tung Nguyen Date: Tue, 14 Nov 2023 22:12:34 +0700 Subject: [PATCH] fix: enum values of UiControlNetUnit are not deserialized properly --- agent_scheduler/task_helpers.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/agent_scheduler/task_helpers.py b/agent_scheduler/task_helpers.py index dfb1bf5..5ac1ee1 100644 --- a/agent_scheduler/task_helpers.py +++ b/agent_scheduler/task_helpers.py @@ -203,9 +203,15 @@ def deserialize_script_args(script_args: Union[bytes, List], UiControlNetUnit = for i, a in enumerate(script_args): if isinstance(a, dict) and a.get("is_cnet", False): - script_args[i] = deserialize_controlnet_args(a) + unit = deserialize_controlnet_args(a) if UiControlNetUnit is not None: - script_args[i] = UiControlNetUnit(**script_args[i]) + u = UiControlNetUnit() + for k, v in unit.items(): + if isinstance(getattr(u, k, None), Enum): + unit[k] = type(getattr(u, k))(v) + unit = UiControlNetUnit(**unit) + + script_args[i] = unit return script_args