# HG changeset patch # User Goffi # Date 1605189195 -3600 # Node ID c069882f64cb3b9a5f0f040c0a632e0e054db1be # Parent a4774f5b6b17e993da320b6e5943960cd4036066 tools (async_trigger): use `utils.asDeferred` for async triggers: A corouting or blocking method can now be used for async triggers. diff -r a4774f5b6b17 -r c069882f64cb sat/tools/async_trigger.py --- a/sat/tools/async_trigger.py Thu Nov 12 14:53:15 2020 +0100 +++ b/sat/tools/async_trigger.py Thu Nov 12 14:53:15 2020 +0100 @@ -19,7 +19,8 @@ """Misc usefull classes""" -from sat.tools import trigger as sync_trigger +from . import trigger as sync_trigger +from . import utils from twisted.internet import defer class TriggerManager(sync_trigger.TriggerManager): @@ -45,7 +46,7 @@ for priority, trigger in self.__triggers[point_name]: try: - cont = yield trigger(*args, **kwargs) + cont = yield utils.asDeferred(trigger, *args, **kwargs) if can_cancel and not cont: defer.returnValue(False) except sync_trigger.SkipOtherTriggers: