Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Code Block
languagepy
from ecflow import Defs,Suite,Family,Task,RepeatDay,RepeatEnumerated,RepeatString,RepeatInteger

def add_tasks(fam):
    for i in range(1,3):
        fam.add_task(Task("t{}".format(i)))
                
defs = Defs()
s1 = defs.add_suite("s1")
f1 = s1.add_family("f1")
f1.add_repeat( RepeatDate("YMD",20100111,20100115,2) )
add_tasks(f1)

f2 = s1.add_family("f2")
f2.add_repeat( RepeatInteger("count",0,100,2)  )
add_tasks(f2)

f3 = s1.add_family("f3")
f3.add_repeat(  RepeatEnumerated("enum",["red", "green", "blue" ] )  )
add_tasks(f3)

f4 = s1.add_family("f4")
f4.add_repeat(  RepeatString("enum",["a", "b", "c" ] )  )
add_tasks(f4)

f5 = s1.add_family("f5")
f5.add_repeat(  RepeatDay(1)  )
add_tasks(f5) 

The following examples show alternative styles that produce the same definition:


Code Block
languagepy
defs = Defs().add(
        Suite("s1").add(
         Family("f1").add(
           RepeatDate("YMD",20100111,20100115,2),
           [ Task("t{}".format(i)) for i in range(1,3) ] ),
         Family("f2").add(
           RepeatInteger("count",0,100,2),
           [ Task("t{}".format(i)) for i in range(1,3) ] ),
         Family("f3").add(
           RepeatEnumerated("enum",["red", "green", "blue" ] ),
           [ Task("t{}".format(i)) for i in range(1,3) ] ),
         Family("f4").add(
           RepeatString("enum",["a", "b", "c" ] ),
           [ Task("t{}".format(i)) for i in range(1,3) ] ),
         Family("f5").add(
           RepeatDay(1),
           [ Task("t{}".format(i)) for i in range(1,3) ] )))



Code Block
languagepy
defs = Defs().add( Suite("s1") )
defs.s1 += [ Family("f{}".format(i)).add(
               [ Task("t{}".format(i)) for i in range(1,3) ]) 
             for i in range(1,6) ]   
defs.s1.f1 += [ RepeatDate("YMD",20100111,20100115,2) ]
defs.s1.f2 += [ RepeatInteger("count",0,100,2) ]
defs.s1.f3 += [ RepeatEnumerated("enum",["red", "green", "blue" ] ) ]
defs.s1.f4 += [ RepeatString("enum",["a", "b", "c" ] ) ]
defs.s1.f5 += [ RepeatDay(1) ]