Fixed duplicate parameter parsing. Requires full app update

This commit is contained in:
Frikky
2024-04-29 11:35:21 +02:00
parent 8567b7e722
commit 7e92c8d399
+12 -11
View File
@@ -2864,8 +2864,12 @@ class AppBase:
# Handles for loops etc. # Handles for loops etc.
# FIXME: Should it dump to string here? Doesn't that defeat the purpose? # FIXME: Should it dump to string here? Doesn't that defeat the purpose?
# Trying without string dumping. # Trying without string dumping.
#self.logger.info("TO BE REPLACED: %s" % to_be_replaced)
value, is_loop = get_json_value(fullexecution, to_be_replaced) value, is_loop = get_json_value(fullexecution, to_be_replaced)
self.logger.info("OUTPUT (%s): %s" % (to_be_replaced, value))
self.logger.info("PRE VALUE:\n%s" % parameter["value"])
#self.logger.info(f"\n\nType of value: {type(value)}") #self.logger.info(f"\n\nType of value: {type(value)}")
if isinstance(value, str): if isinstance(value, str):
# Could we take it here? # Could we take it here?
@@ -2879,26 +2883,25 @@ class AppBase:
# returnvalue = fix_json_string_value(value) # returnvalue = fix_json_string_value(value)
# value = returnvalue # value = returnvalue
parameter["value"] = parameter["value"].replace(to_be_replaced, value, 1)
parameter["value"] = parameter["value"].replace(to_be_replaced, value)
elif isinstance(value, dict) or isinstance(value, list): elif isinstance(value, dict) or isinstance(value, list):
# Changed from JSON dump to str() 28.05.2021 # Changed from JSON dump to str() 28.05.2021
# This makes it so the parameters gets lists and dicts straight up # This makes it so the parameters gets lists and dicts straight up
parameter["value"] = parameter["value"].replace(to_be_replaced, json.dumps(value)) parameter["value"] = parameter["value"].replace(to_be_replaced, json.dumps(value), 1)
#try: #try:
# parameter["value"] = parameter["value"].replace(to_be_replaced, str(value))
#except:
# parameter["value"] = parameter["value"].replace(to_be_replaced, json.dumps(value)) # parameter["value"] = parameter["value"].replace(to_be_replaced, json.dumps(value))
#except:
# parameter["value"] = parameter["value"].replace(to_be_replaced, str(value))
# self.logger.info("Failed parsing value as string?") # self.logger.info("Failed parsing value as string?")
else: else:
self.logger.error("[ERROR] Unknown type %s" % type(value)) self.logger.error("[ERROR] Unknown type %s" % type(value))
try: try:
parameter["value"] = parameter["value"].replace(to_be_replaced, json.dumps(value)) parameter["value"] = parameter["value"].replace(to_be_replaced, json.dumps(value), 1)
except json.decoder.JSONDecodeError as e: except json.decoder.JSONDecodeError as e:
parameter["value"] = parameter["value"].replace(to_be_replaced, value) parameter["value"] = parameter["value"].replace(to_be_replaced, value, 1)
#self.logger.info("VALUE: %s" % parameter["value"]) self.logger.info("POST VALUE: \n%s" % parameter["value"])
else: else:
#self.logger.info(f"[ERROR] Not running static variant regex parsing (slow) on value with length {len(parameter['value'])}. Max is 5Mb~.") #self.logger.info(f"[ERROR] Not running static variant regex parsing (slow) on value with length {len(parameter['value'])}. Max is 5Mb~.")
pass pass
@@ -3434,8 +3437,6 @@ class AppBase:
# Loop WITH variables go in else. # Loop WITH variables go in else.
handled = False handled = False
self.logger.info("ACTUALITEM: %s" % actualitem)
# Has a loop without a variable used inside # Has a loop without a variable used inside
if len(actualitem[0]) > 2 and actualitem[0][1] == "SHUFFLE_NO_SPLITTER": if len(actualitem[0]) > 2 and actualitem[0][1] == "SHUFFLE_NO_SPLITTER":