Mercurial > libervia-backend
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 |