Expand source
#!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"), )))