return True def some_database_request(): # let's pretend we were getting that from a database return defer.succeed(["arthur", "trillian", "barkeeper"]) fixed_value_args = {"heart_of_gold": ["arthur", "ford", "zaphod", "trillian"]} dynamic_args = { "get_ape_descendants": some_database_request, "meaning_of_life": never_executed } # create an objected loaded with dynamic arguments (that will only be evaluated when needed) txeval = Evaluator(dynamic_args=dynamic_args, fixed_value_args=fixed_value_args) def eval_result_cb(result, who): if result: print who # evaluate eval_arthur_d = txeval.evaluate(will_survive("arthur")) eval_barkeeper_d = txeval.evaluate(will_survive("barkeeper")) eval_arthur_d.addCallback(eval_result_cb, "arthur") eval_barkeeper_d.addCallback(eval_result_cb, "barkeeper")
def setUp(self): self.evaluator = Evaluator(dynamic_args=dynamic_args, fixed_value_args=fixed_value_args)