58 lines
2.1 KiB
Python
58 lines
2.1 KiB
Python
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[filtervalue["outputs"]]
|
|
|
|
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("Value not present")
|
|
print(filter)
|
|
return True, filter
|
|
#continue
|
|
|
|
#except TypeError:
|
|
# print("TypeError")
|
|
# return False, None
|
|
|
|
return False, None
|
|
|