# HG changeset patch
# User Goffi <goffi@goffi.org>
# Date 1620221853 -7200
# Node ID 7f5bf108961ace14c0345e055959e42015596da9
# Parent  5843794739257eaeb622e63744554d6cd5177a9d
tools (async_trigger): new `asyncReturnPoint` method

diff -r 584379473925 -r 7f5bf108961a sat/tools/async_trigger.py
--- a/sat/tools/async_trigger.py	Wed May 05 15:37:33 2021 +0200
+++ b/sat/tools/async_trigger.py	Wed May 05 15:37:33 2021 +0200
@@ -52,3 +52,18 @@
             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
+