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 resolvedvalue = dictionary.get(filter["filterkey"]) if filter["operator"] == ">=": if int(resolvedvalue or 0) >= int(filtervalue): print(filter["print"]) return True, filter if filter["operator"] == "<=": if int(resolvedvalue or 0) <= int(filtervalue): print(filter["print"]) return True, filter if filter["operator"] == "==": if resolvedvalue == filtervalue: print(filter["print"]) return True, filter if filter["operator"] == "!=": if resolvedvalue != filtervalue: print(filter["print"]) return True, filter if filter["operator"] == ">": if int(resolvedvalue or 0) > int(filtervalue): print(filter["print"]) return True, filter if filter["operator"] == "<": if int(resolvedvalue or 0) < int(filtervalue): print(filter["print"]) return True, filter if filter["operator"] == "in": if filtervalue in dictionary: print(filter["print"]) return True, filter if filter["operator"] == "is": if resolvedvalue is filtervalue: print(filter["print"]) return True, filter if filter["operator"] == "is not": if resolvedvalue is not filtervalue: 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