ecFlow's documentation is now on readthedocs!

#!usr/bin/env python
def process(): 
    return (
        Family("process").add(
            Trigger("process ne aborted"), # STOP ASAP
            Family("daily").add(
                Task("simple"),
                Repeat("YMD", 20160101, 20321212, kind="date"),
                Family("decade").add(
                    Task("simple"),            
                    Label("info", "Show-Icons-Complete"),
                    Complete("../daily:YMD % 10 ne 0"))),

            Family("monthly").add(
                Task("simple"),
                Trigger("monthly:YM lt daily:YMD / 100 or daily eq complete"),
                Repeat(kind="enum", name="YM", start=
                       [ "%d" % YM
                         for YM in range(201601, 203212+1) 
                         if (YM % 100) < 13 and (YM % 100) != 0 ]),
                Family("odd").add(
                    Task("simple"),
                    Complete("../monthly:YM % 2 eq 0"))),

            Family("yearly").add(
                Task("simple"),
                Repeat("Y", 2016, 2032, kind="integer"),
                Trigger("yearly:Y lt daily:YMD / 10000 or daily eq complete"),
                Family("decade").add(
                    Task("simple"),
                    Complete("../yearly:Y % 10 ne 0")),
                Family("century").add(
                    Task("simple"),
                    Complete("../yearly:Y % 100 ne 0"), )))