]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Ensure AsyncAdaptedLock is present
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 2 Nov 2020 20:29:38 +0000 (15:29 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 2 Nov 2020 20:29:38 +0000 (15:29 -0500)
whether or not greenlet is installed

Change-Id: Icd1c5ef3a01ec0d1b8dce0d1def9920700923e51

lib/sqlalchemy/util/_concurrency_py3k.py

index 82125b7713080d8a12fd5d82bd556a1652451881..ee3abe5fa9962a563a6f1035beb6a23c0192b33a 100644 (file)
@@ -96,17 +96,6 @@ try:
             del context.driver
         return result
 
-    class AsyncAdaptedLock:
-        def __init__(self):
-            self.mutex = asyncio.Lock()
-
-        def __enter__(self):
-            await_fallback(self.mutex.acquire())
-            return self
-
-        def __exit__(self, *arg, **kw):
-            self.mutex.release()
-
 
 except ImportError:  # pragma: no cover
     greenlet = None
@@ -119,3 +108,15 @@ except ImportError:  # pragma: no cover
 
     async def greenlet_spawn(fn, *args, **kw):
         raise ValueError("Greenlet is required to use this function")
+
+
+class AsyncAdaptedLock:
+    def __init__(self):
+        self.mutex = asyncio.Lock()
+
+    def __enter__(self):
+        await_fallback(self.mutex.acquire())
+        return self
+
+    def __exit__(self, *arg, **kw):
+        self.mutex.release()