def applyConditions(definition, dictionary, outputs): if hasattr(definition, "filters"): for filter in definition.filters: try: filtervalue = filter["filtervalue"] if isinstance(filter["filtervalue"], dict): filtervalue = outputs.get(filtervalue["outputs"]) if filtervalue is None: continue if filter["operator"] == ">=": if dictionary.get(filter["filterkey"]) >= int(filtervalue): print(filter["print"]) return True, filter if filter["operator"] == "<=": if dictionary.get(filter["filterkey"]) <= int(filtervalue): print(filter["print"]) return True, filter if filter["operator"] == "==": if dictionary.get(filter["filterkey"]) == filtervalue: print(filter["print"]) return True, filter if filter["operator"] == "!=": if dictionary.get(filter["filterkey"]) != filtervalue: print(filter["print"]) return True, filter if filter["operator"] == ">": if dictionary.get(filter["filterkey"]) > int(filtervalue): print(filter["print"]) return True, filter if filter["operator"] == "<": if dictionary.get(filter["filterkey"]) < int(filtervalue): print(filter["print"]) return True, filter if filter["operator"] == "in": if filtervalue in dictionary: print(filter["print"]) return True, filter except KeyError: print(f"Value not present in runtime for filtering during {definition.name}") #print(filter) return True, filter #continue #except TypeError: # print("TypeError") # return False, None return False, None