tools (async_trigger): use utils.asDeferred for async triggers:
A corouting or blocking method can now be used for async triggers.
This commit is contained in:
parent
1aeeffd399
commit
2d3d30d42b
1 changed files with 3 additions and 2 deletions
|
|
@ -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 @@ class TriggerManager(sync_trigger.TriggerManager):
|
|||
|
||||
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:
|
||||
|
|
|
|||
Loading…
Reference in a new issue