Checking the suite definition
The following python code shows how to check expression and limits.
Checking existing definition file that has been saved as a file:
def = ecflow.Defs("/my/path.def") # will load file '/my/path.def'
print(def.check()) # check trigger expressions and limits
Here is another example where we create the suite definition on the fly. In fact, using the python API allows for a correct by construction paradigm.
defs = ecflow.Defs() # create a empty defs
suite = defs.add_suite("s1") # create a suite 's1' and add to defs
task = suite.add_task("t1") # create a task 't1' and add to suite
task.add_trigger("t2 == active)") # mismatched brackets
result = defs.check() # check trigger expressions and limits
print("Message: '" + result + "'")
assert len(result) != 0, "Expected Error: mis-matched brackets in expression."