From 145fbbb15803e76310b76e1c9d57e8ddfe3aaacb Mon Sep 17 00:00:00 2001 From: "Spag@tti_code" Date: Tue, 13 Aug 2024 12:59:20 +0200 Subject: [PATCH] Parse parameters in quotes --- nodes.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/nodes.py b/nodes.py index 3ac446a..7239272 100644 --- a/nodes.py +++ b/nodes.py @@ -1218,17 +1218,20 @@ class SDParameterExtractor: @staticmethod def parse_setting(settings): - pattern = re.compile(r"([^:,]+):\s*\(([^)]+)\)|([^:,]+):\s*([^,]+)") + pattern = re.compile(r"([^:,]+):\s*\(([^)]+)\)|([^:,]+):\s*\"([^\"]+)\"|([^:,]+):\s*([^,]+)") matches = pattern.findall(settings) result = {} for match in matches: - key, value_paren, key_nonparen, value_nonparen = match - if key: - key = key.strip() + key_paren, value_paren, key_quotes, value_quotes, key_nonparen, value_nonparen = match + if key_paren: + key = key_paren.strip() value = value_paren.strip() value = tuple(v.strip() for v in value.split(",")) + elif key_quotes: + key = key_quotes.strip() + value = value_quotes.strip() else: key = key_nonparen.strip() value = value_nonparen.strip()