]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Load external firebird or sybase dialect if available
authorGord Thompson <gord@gordthompson.com>
Fri, 8 May 2020 11:52:02 +0000 (05:52 -0600)
committerGord Thompson <gord@gordthompson.com>
Mon, 11 May 2020 13:23:54 +0000 (07:23 -0600)
Fixes: #5318
Extension of I1660abb11c02656fbf388f2f9c4257075111be58

Change-Id: I32b678430497327f9b08f821bd345a2557e34b1f

lib/sqlalchemy/dialects/__init__.py

index 85929a9d676da82074413dad23f72819c7306a03..86f567eb54bf1002e9f66203595fc9eec6663b5e 100644 (file)
@@ -35,15 +35,21 @@ def _auto_fn(name):
         if dialect == "firebird":
             try:
                 module = __import__("sqlalchemy_firebird")
-                dialect = "dialect"
-            except:
+            except ImportError:
                 module = __import__("sqlalchemy.dialects.firebird").dialects
+                module = getattr(module, dialect)
+        elif dialect == "sybase":
+            try:
+                module = __import__("sqlalchemy_sybase")
+            except ImportError:
+                module = __import__("sqlalchemy.dialects.sybase").dialects
+                module = getattr(module, dialect)
         else:
             module = __import__("sqlalchemy.dialects.%s" % (dialect,)).dialects
+            module = getattr(module, dialect)
     except ImportError:
         return None
 
-    module = getattr(module, dialect)
     if hasattr(module, driver):
         module = getattr(module, driver)
         return lambda: module.dialect