From: Gord Thompson Date: Fri, 8 May 2020 11:52:02 +0000 (-0600) Subject: Load external firebird or sybase dialect if available X-Git-Tag: rel_1_3_17~2^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92f2247a2d1bb04bdea68a10e5630f67e7cb0d94;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Load external firebird or sybase dialect if available Fixes: #5318 Extension of I1660abb11c02656fbf388f2f9c4257075111be58 Change-Id: I32b678430497327f9b08f821bd345a2557e34b1f (cherry picked from commit 587f6c77153235e3defcc6b0b6598634e1ee2828) --- diff --git a/lib/sqlalchemy/dialects/__init__.py b/lib/sqlalchemy/dialects/__init__.py index 741ea06889..d84e482aaf 100644 --- a/lib/sqlalchemy/dialects/__init__.py +++ b/lib/sqlalchemy/dialects/__init__.py @@ -45,15 +45,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