comparison sat/tools/async_trigger.py @ 3525:7f5bf108961a

tools (async_trigger): new `asyncReturnPoint` method
author Goffi <goffi@goffi.org>
date Wed, 05 May 2021 15:37:33 +0200
parents be6d91572633
children e14847bf65c0
comparison
equal deleted inserted replaced
3524:584379473925 3525:7f5bf108961a
50 if can_cancel and not cont: 50 if can_cancel and not cont:
51 defer.returnValue(False) 51 defer.returnValue(False)
52 except sync_trigger.SkipOtherTriggers: 52 except sync_trigger.SkipOtherTriggers:
53 break 53 break
54 defer.returnValue(True) 54 defer.returnValue(True)
55
56 async def asyncReturnPoint(self, point_name, *args, **kwargs):
57 """Async version of returnPoint"""
58 if point_name not in self.__triggers:
59 return True
60
61 for priority, trigger in self.__triggers[point_name]:
62 try:
63 cont, ret_value = await utils.asDeferred(trigger, *args, **kwargs)
64 if not cont:
65 return False, ret_value
66 except sync_trigger.SkipOtherTriggers:
67 break
68 return True, None
69