3 '''simple example of how to define items in pure python'''
6 from core.bits import *
7 from core.marshal import ItemConverter
8 from digraphtools.predicate import predicate
10 want_coffee = ItemConverter().predicate_string_to_callable(' coffee ')
11 assert want_coffee(['coffee','tv']) == True
12 assert want_coffee(['fish','tv']) == False
21 class make_breakfast(Item):
24 class eat_breakfast(Item):
25 depends = (make_breakfast,)
27 class make_coffee(Item):
29 predicate = want_coffee
31 class drink_coffee(Item):
32 depends = (make_coffee,)
33 predicate = want_coffee
35 class walk_out_door(Item):
36 depends = (get_up, eat_breakfast, make_coffee)
38 class go_to_work(Item):
39 description = 'Leave to go to work'
40 depends = (walk_out_door, eat_breakfast, drink_coffee)
44 items = [wake_up, get_up, make_breakfast, eat_breakfast, make_coffee, drink_coffee, walk_out_door, go_to_work]
45 breakfast_task_factory = lib.loaders.TaskFactory(items)