Made larger than, less than and is empty a bit smarter to not need {{ | size }}
This commit is contained in:
+30
-32
@@ -2740,7 +2740,7 @@ class AppBase:
|
|||||||
return "", parameter["value"], is_loop
|
return "", parameter["value"], is_loop
|
||||||
|
|
||||||
def run_validation(sourcevalue, check, destinationvalue):
|
def run_validation(sourcevalue, check, destinationvalue):
|
||||||
print("[DEBUG] Checking %s %s %s" % (sourcevalue, check, destinationvalue))
|
self.logger.info("[DEBUG] Checking %s '%s' %s" % (sourcevalue, check, destinationvalue))
|
||||||
|
|
||||||
if check == "=" or check.lower() == "equals":
|
if check == "=" or check.lower() == "equals":
|
||||||
if str(sourcevalue).lower() == str(destinationvalue).lower():
|
if str(sourcevalue).lower() == str(destinationvalue).lower():
|
||||||
@@ -2760,7 +2760,7 @@ class AppBase:
|
|||||||
|
|
||||||
elif check.lower() == "is empty" or check.lower() == "is_empty":
|
elif check.lower() == "is empty" or check.lower() == "is_empty":
|
||||||
try:
|
try:
|
||||||
if len(list(sourcevalue)) == 0:
|
if len(json.loads(sourcevalue)) == 0:
|
||||||
return True
|
return True
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.info(f"[WARNING] Failed to check if empty as list: {e}")
|
self.logger.info(f"[WARNING] Failed to check if empty as list: {e}")
|
||||||
@@ -2768,8 +2768,6 @@ class AppBase:
|
|||||||
if len(str(sourcevalue)) == 0:
|
if len(str(sourcevalue)) == 0:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
|
||||||
|
|
||||||
elif check.lower() == "contains_any_of":
|
elif check.lower() == "contains_any_of":
|
||||||
newvalue = [destinationvalue.lower()]
|
newvalue = [destinationvalue.lower()]
|
||||||
if "," in destinationvalue:
|
if "," in destinationvalue:
|
||||||
@@ -2785,20 +2783,7 @@ class AppBase:
|
|||||||
print("[INFO] Found %s in %s" % (item, sourcevalue))
|
print("[INFO] Found %s in %s" % (item, sourcevalue))
|
||||||
return True
|
return True
|
||||||
|
|
||||||
return False
|
|
||||||
elif check.lower() == "larger than" or check.lower() == "bigger than":
|
elif check.lower() == "larger than" or check.lower() == "bigger than":
|
||||||
try:
|
|
||||||
destinationvalue = len(list(destinationvalue))
|
|
||||||
except Exception as e:
|
|
||||||
self.logger.info(f"[WARNING] Failed to convert destination to list: {e}")
|
|
||||||
|
|
||||||
try:
|
|
||||||
# Check if it's a list in autocast and if so, check the length
|
|
||||||
if len(list(sourcevalue)) > int(destinationvalue):
|
|
||||||
return True
|
|
||||||
except Exception as e:
|
|
||||||
self.logger.info(f"[WARNING] Failed to check if larger than as list: {e}")
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if str(sourcevalue).isdigit() and str(destinationvalue).isdigit():
|
if str(sourcevalue).isdigit() and str(destinationvalue).isdigit():
|
||||||
if int(sourcevalue) > int(destinationvalue):
|
if int(sourcevalue) > int(destinationvalue):
|
||||||
@@ -2806,22 +2791,22 @@ class AppBase:
|
|||||||
|
|
||||||
except AttributeError as e:
|
except AttributeError as e:
|
||||||
self.logger.info("[WARNING] Condition larger than failed with values %s and %s: %s" % (sourcevalue, destinationvalue, e))
|
self.logger.info("[WARNING] Condition larger than failed with values %s and %s: %s" % (sourcevalue, destinationvalue, e))
|
||||||
return False
|
|
||||||
|
try:
|
||||||
|
destinationvalue = len(json.loads(destinationvalue))
|
||||||
|
except Exception as e:
|
||||||
|
self.logger.info(f"[WARNING] Failed to convert destination to list: {e}")
|
||||||
|
try:
|
||||||
|
# Check if it's a list in autocast and if so, check the length
|
||||||
|
if len(json.loads(sourcevalue)) > int(destinationvalue):
|
||||||
|
return True
|
||||||
|
except Exception as e:
|
||||||
|
self.logger.info(f"[WARNING] Failed to check if larger than as list: {e}")
|
||||||
|
|
||||||
|
|
||||||
elif check.lower() == "smaller than" or check.lower() == "less than":
|
elif check.lower() == "smaller than" or check.lower() == "less than":
|
||||||
try:
|
self.logger.info("In smaller than check: %s %s" % (sourcevalue, destinationvalue))
|
||||||
destinationvalue = len(list(destinationvalue))
|
|
||||||
except Exception as e:
|
|
||||||
self.logger.info(f"[WARNING] Failed to convert destination to list: {e}")
|
|
||||||
|
|
||||||
|
|
||||||
try:
|
|
||||||
# Check if it's a list in autocast and if so, check the length
|
|
||||||
if len(list(sourcevalue)) < int(destinationvalue):
|
|
||||||
return True
|
|
||||||
except Exception as e:
|
|
||||||
self.logger.info(f"[WARNING] Failed to check if smaller than as list: {e}")
|
|
||||||
try:
|
try:
|
||||||
if str(sourcevalue).isdigit() and str(destinationvalue).isdigit():
|
if str(sourcevalue).isdigit() and str(destinationvalue).isdigit():
|
||||||
if int(sourcevalue) < int(destinationvalue):
|
if int(sourcevalue) < int(destinationvalue):
|
||||||
@@ -2829,7 +2814,18 @@ class AppBase:
|
|||||||
|
|
||||||
except AttributeError as e:
|
except AttributeError as e:
|
||||||
print("[WARNING] Condition smaller than failed with values %s and %s: %s" % (sourcevalue, destinationvalue, e))
|
print("[WARNING] Condition smaller than failed with values %s and %s: %s" % (sourcevalue, destinationvalue, e))
|
||||||
return False
|
|
||||||
|
try:
|
||||||
|
destinationvalue = len(json.loads(destinationvalue))
|
||||||
|
except Exception as e:
|
||||||
|
self.logger.info(f"[WARNING] Failed to convert destination to list: {e}")
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Check if it's a list in autocast and if so, check the length
|
||||||
|
if len(json.loads(sourcevalue)) < int(destinationvalue):
|
||||||
|
return True
|
||||||
|
except Exception as e:
|
||||||
|
self.logger.info(f"[WARNING] Failed to check if smaller than as list: {e}")
|
||||||
|
|
||||||
elif check.lower() == "re" or check.lower() == "matches regex":
|
elif check.lower() == "re" or check.lower() == "matches regex":
|
||||||
try:
|
try:
|
||||||
@@ -2846,7 +2842,7 @@ class AppBase:
|
|||||||
|
|
||||||
return True
|
return True
|
||||||
else:
|
else:
|
||||||
print("[DEBUG] Condition: can't handle %s yet. Setting to true" % check)
|
self.logger.error("[DEBUG] Condition: can't handle %s yet. Setting to true" % check)
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@@ -2911,6 +2907,8 @@ class AppBase:
|
|||||||
"contains_any_of",
|
"contains_any_of",
|
||||||
"re",
|
"re",
|
||||||
"matches regex",
|
"matches regex",
|
||||||
|
"is empty",
|
||||||
|
"is_empty",
|
||||||
]
|
]
|
||||||
|
|
||||||
relevantbranches = []
|
relevantbranches = []
|
||||||
@@ -2970,7 +2968,7 @@ class AppBase:
|
|||||||
destinationvalue = parse_wrapper_start(destinationvalue, self)
|
destinationvalue = parse_wrapper_start(destinationvalue, self)
|
||||||
|
|
||||||
if not condition["condition"]["value"] in available_checks:
|
if not condition["condition"]["value"] in available_checks:
|
||||||
self.logger.warning("Skipping %s %s %s because %s is invalid." % (sourcevalue, condition["condition"]["value"], destinationvalue, condition["condition"]["value"]))
|
self.logger.error("[ERROR] Skipping '%s' -> %s -> '%s' because %s is invalid." % (sourcevalue, condition["condition"]["value"], destinationvalue, condition["condition"]["value"]))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# Configuration = negated because of WorkflowAppActionParam..
|
# Configuration = negated because of WorkflowAppActionParam..
|
||||||
|
|||||||
Reference in New Issue
Block a user