summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorGord Thompson <gord@gordthompson.com>2020-05-08 05:52:02 -0600
committerGord Thompson <gord@gordthompson.com>2020-05-11 07:23:54 -0600
commit587f6c77153235e3defcc6b0b6598634e1ee2828 (patch)
tree4fb800a12cbb3eccf0554ccd3119f575852beb8a /lib/sqlalchemy
parent5311a8531c621760ced0b3d0a5454e8c22871d66 (diff)
downloadsqlalchemy-587f6c77153235e3defcc6b0b6598634e1ee2828.tar.gz
Load external firebird or sybase dialect if available
Fixes: #5318 Extension of I1660abb11c02656fbf388f2f9c4257075111be58 Change-Id: I32b678430497327f9b08f821bd345a2557e34b1f
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/dialects/__init__.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/sqlalchemy/dialects/__init__.py b/lib/sqlalchemy/dialects/__init__.py
index 85929a9d6..86f567eb5 100644
--- a/lib/sqlalchemy/dialects/__init__.py
+++ b/lib/sqlalchemy/dialects/__init__.py
@@ -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