Extended applyConditions to now accept outputs separately from its analysed dictionary to compare against saved runtime values
This commit is contained in:
@@ -1,32 +1,58 @@
|
|||||||
def applyConditions(definition, dictionary):
|
def applyConditions(definition, dictionary, outputs):
|
||||||
if hasattr(definition, "filters"):
|
if hasattr(definition, "filters"):
|
||||||
print("DEBUG DICTIONARY PASS")
|
#print("DEBUG DICTIONARY PASS")
|
||||||
print(dictionary)
|
#print(dictionary)
|
||||||
for filter in definition.filters:
|
for filter in definition.filters:
|
||||||
|
#print(filter)
|
||||||
if filter["operator"] == ">=":
|
try:
|
||||||
if dictionary.get(filter["filterkey"]) >= filter["filtervalue"]:
|
if isinstance(filter["filtervalue"], dict):
|
||||||
print(filter["print"])
|
#print("DEBUGGING INT ERROR")
|
||||||
return True
|
#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"]:
|
if filter["operator"] == ">=":
|
||||||
print(filter["print"])
|
if dictionary.get(filter["filterkey"]) >= filter["filtervalue"]:
|
||||||
return True
|
print(filter["print"])
|
||||||
|
return True, filter
|
||||||
|
|
||||||
if filter["operator"] == "==":
|
if filter["operator"] == "<=":
|
||||||
if dictionary.get(filter["filterkey"]) == filter["filtervalue"]:
|
if dictionary.get(filter["filterkey"]) <= filter["filtervalue"]:
|
||||||
print(filter["print"])
|
print(filter["print"])
|
||||||
return True
|
return True, filter
|
||||||
|
|
||||||
if filter["operator"] == "!=":
|
if filter["operator"] == "==":
|
||||||
if dictionary.get(filter["filterkey"]) != filter["filtervalue"]:
|
if dictionary.get(filter["filterkey"]) == filter["filtervalue"]:
|
||||||
print(filter["print"])
|
print(filter["print"])
|
||||||
return True
|
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"] == "<":
|
||||||
|
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
|
||||||
|
|
||||||
if filter["operator"] == "in":
|
|
||||||
if filter["filtervalue"] in dictionary:
|
|
||||||
print(filter["print"])
|
|
||||||
return True
|
|
||||||
|
|
||||||
return False
|
|
||||||
@@ -33,7 +33,7 @@ def buildListener(listener, self):
|
|||||||
|
|
||||||
for item in outputs[listener.recursive["source"]]:
|
for item in outputs[listener.recursive["source"]]:
|
||||||
|
|
||||||
if applyConditions(listener, item):
|
if applyConditions(listener, item, outputs):
|
||||||
continue
|
continue
|
||||||
# Process and forward to RMASS
|
# Process and forward to RMASS
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user