Parse parameters in quotes

This commit is contained in:
Spag@tti_code
2024-08-13 13:25:05 +02:00
parent 07a1a5314d
commit 145fbbb158
+7 -4
View File
@@ -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()