From 29a7b929f7f1160b643dc5f5911533887173fcff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 28 Jun 2018 17:10:33 +0200 Subject: [PATCH] Rename async to asynchronous, keep backwards comaptibility async is a keyword in Python 3.7 and keeping it results in SyntaxError. Fixes https://gitlab.gnome.org/GNOME/pyatspi2/issues/1 --- pyatspi/registry.py | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) diff --git a/pyatspi/registry.py b/pyatspi/registry.py index cb28395..f73ee16 100644 --- a/pyatspi/registry.py +++ b/pyatspi/registry.py @@ -50,9 +50,9 @@ class Registry(object): reference to the Accessibility.Registry singleton. Doing so is harmless and has no point. - @@ivar async: Should event dispatch to local listeners be decoupled from event - receiving from the registry? - @@type async: boolean + @@ivar asynchronous: Should event dispatch to local listeners be decoupled + from event receiving from the registry? + @@type asynchronous: boolean @@ivar reg: Reference to the real, wrapped registry object @@type reg: Accessibility.Registry @@ivar dev: Reference to the device controller @@ -111,25 +111,44 @@ class Registry(object): self.has_implementations = True - self.async = False # not fully supported yet + self.asynchronous = False # not fully supported yet self.started = False self.event_listeners = dict() + def __getattr__(self, name): + """ + For backwards compatibility with old API + """ + if name == 'async': + return self.asynchronous + return object.__getattr__(self, name) + + def __setattr__(self, name, value): + """ + For backwards compatibility with old API + """ + if name == 'async': + self.asynchronous = value + object.__setattr__(self, name, value) + def _set_default_registry (self): self._set_registry (MAIN_LOOP_GLIB) - def start(self, async=False, gil=True): + def start(self, asynchronous=False, gil=True, **kwargs): """ Enter the main loop to start receiving and dispatching events. - @@param async: Should event dispatch be asynchronous (decoupled) from - event receiving from the AT-SPI registry? - @@type async: boolean + @@param asynchronous: Should event dispatch be asynchronous + (decoupled) from event receiving from the AT-SPI registry? + @@type asynchronous: boolean @@param gil: Add an idle callback which releases the Python GIL for a few milliseconds to allow other threads to run? Necessary if other threads will be used in this process. @@type gil: boolean """ + if 'async' in kwargs: + # support previous API + asynchronous = kwargs['async'] if not self.has_implementations: self._set_default_registry () self.started = True -- 2.22.0