From 6e6bc64eab169b4ef72fc2ad29d2e55e00eea3b7 Mon Sep 17 00:00:00 2001 From: Goffi Date: Wed, 5 May 2021 15:37:33 +0200 Subject: [PATCH] tools (async_trigger): new `asyncReturnPoint` method --- sat/tools/async_trigger.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sat/tools/async_trigger.py b/sat/tools/async_trigger.py index 9516da80..5eef003d 100644 --- a/sat/tools/async_trigger.py +++ b/sat/tools/async_trigger.py @@ -52,3 +52,18 @@ class TriggerManager(sync_trigger.TriggerManager): except sync_trigger.SkipOtherTriggers: break defer.returnValue(True) + + async def asyncReturnPoint(self, point_name, *args, **kwargs): + """Async version of returnPoint""" + if point_name not in self.__triggers: + return True + + for priority, trigger in self.__triggers[point_name]: + try: + cont, ret_value = await utils.asDeferred(trigger, *args, **kwargs) + if not cont: + return False, ret_value + except sync_trigger.SkipOtherTriggers: + break + return True, None +