From 27bcc7273eca266a6a5ea11d634c6034841f0371 Mon Sep 17 00:00:00 2001 From: Rhys Yang Date: Wed, 17 Jan 2024 06:28:20 +0800 Subject: [PATCH] Fix the parsing error caused by the loss of model data #43 --- nodes.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/nodes.py b/nodes.py index 081dd70..d3c5513 100644 --- a/nodes.py +++ b/nodes.py @@ -159,18 +159,21 @@ class SDPromptReader: raise ValueError(MESSAGE["format_error"][1]) seed = int( - self.param_parser(image_data.parameter.get("seed"), parameter_index) + self.param_parser(image_data.parameter.get("seed", 0), parameter_index) or 0 ) steps = int( - self.param_parser(image_data.parameter.get("steps"), parameter_index) + self.param_parser(image_data.parameter.get("steps", 0), parameter_index) or 0 ) cfg = float( - self.param_parser(image_data.parameter.get("cfg"), parameter_index) or 0 + self.param_parser(image_data.parameter.get("cfg", 0), parameter_index) + or 0 ) model = str( - self.param_parser(image_data.parameter.get("model"), parameter_index) + self.param_parser( + image_data.parameter.get("model", ""), parameter_index + ) or "" ) width = int(image_data.width or 0) @@ -204,8 +207,12 @@ class SDPromptReader: @staticmethod def param_parser(data: str, index: int): - data_list = data.strip("()").split(",") - return data_list[0] if len(data_list) == 1 else data_list[index] + try: + data_list = data.strip("()").split(",") + except AttributeError: + return None + else: + return data_list[0] if len(data_list) == 1 else data_list[index] @staticmethod def search_model(model: str):