Extended applyConditions to now accept outputs separately from its analysed dictionary to compare against saved runtime values

This commit is contained in:
Lyncoln
2026-10-19 14:02:45 -04:00
parent 75be2f8af9
commit d975e39e61
2 changed files with 53 additions and 27 deletions
+50 -24
View File
@@ -1,32 +1,58 @@
def applyConditions(definition, dictionary):
def applyConditions(definition, dictionary, outputs):
if hasattr(definition, "filters"):
print("DEBUG DICTIONARY PASS")
print(dictionary)
#print("DEBUG DICTIONARY PASS")
#print(dictionary)
for filter in definition.filters:
#print(filter)
try:
if isinstance(filter["filtervalue"], dict):
#print("DEBUGGING INT ERROR")
#print(filter["filtervalue"])
resolvedoutput = outputs[filter["filtervalue"]["outputs"]]
#print(resolvedoutput)
#filter["filtervalue"] = outputs[filter["filtervalue"]["outputs"]]
#print(outputs[filter["filtervalue"]["outputs"]])
filter["filtervalue"] = resolvedoutput
if filter["operator"] == ">=":
if dictionary.get(filter["filterkey"]) >= filter["filtervalue"]:
print(filter["print"])
return True
if filter["operator"] == "<=":
if dictionary.get(filter["filterkey"]) <= filter["filtervalue"]:
print(filter["print"])
return True
if filter["operator"] == ">=":
if dictionary.get(filter["filterkey"]) >= filter["filtervalue"]:
print(filter["print"])
return True, filter
if filter["operator"] == "==":
if dictionary.get(filter["filterkey"]) == filter["filtervalue"]:
print(filter["print"])
return True
if filter["operator"] == "<=":
if dictionary.get(filter["filterkey"]) <= filter["filtervalue"]:
print(filter["print"])
return True, filter
if filter["operator"] == "!=":
if dictionary.get(filter["filterkey"]) != filter["filtervalue"]:
print(filter["print"])
return True
if filter["operator"] == "==":
if dictionary.get(filter["filterkey"]) == filter["filtervalue"]:
print(filter["print"])
return True, filter
if filter["operator"] == "in":
if filter["filtervalue"] in dictionary:
print(filter["print"])
return True
if filter["operator"] == "!=":
if dictionary.get(filter["filterkey"]) != filter["filtervalue"]:
print(filter["print"])
return True, filter
if filter["operator"] == ">":
if dictionary.get(filter["filterkey"]) > filter["filtervalue"]:
print(filter["print"])
return True, filter
if filter["operator"] == "<":
if dictionary.get(filter["filterkey"]) < filter["filtervalue"]:
print(filter["print"])
return True, filter
if filter["operator"] == "in":
if filter["filtervalue"] in dictionary:
print(filter["print"])
return True, filter
except KeyError:
print("Recording last unread for future checks")
continue
return False, None
return False
+1 -1
View File
@@ -33,7 +33,7 @@ def buildListener(listener, self):
for item in outputs[listener.recursive["source"]]:
if applyConditions(listener, item):
if applyConditions(listener, item, outputs):
continue
# Process and forward to RMASS