def applyConditions(definition, dictionary, outputs): if hasattr(definition, "filters"): #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, 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"] == ">": 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