Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/SQLAlchemy-1.3.25.dev0-py3.11-linux-x86_64.egg/sqlalchemy/dialects/__init__.py: 50%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

36 statements  

1# dialects/__init__.py 

2# Copyright (C) 2005-2021 the SQLAlchemy authors and contributors 

3# <see AUTHORS file> 

4# 

5# This module is part of SQLAlchemy and is released under 

6# the MIT License: http://www.opensource.org/licenses/mit-license.php 

7 

8__all__ = ( 

9 "firebird", 

10 "mssql", 

11 "mysql", 

12 "oracle", 

13 "postgresql", 

14 "sqlite", 

15 "sybase", 

16) 

17 

18from .. import util 

19 

20 

21_translates = {"postgres": "postgresql"} 

22 

23 

24def _auto_fn(name): 

25 """default dialect importer. 

26 

27 plugs into the :class:`.PluginLoader` 

28 as a first-hit system. 

29 

30 """ 

31 if "." in name: 

32 dialect, driver = name.split(".") 

33 else: 

34 dialect = name 

35 driver = "base" 

36 

37 if dialect in _translates: 

38 translated = _translates[dialect] 

39 util.warn_deprecated( 

40 "The '%s' dialect name has been " 

41 "renamed to '%s'" % (dialect, translated) 

42 ) 

43 dialect = translated 

44 try: 

45 if dialect == "firebird": 

46 try: 

47 module = __import__("sqlalchemy_firebird") 

48 except ImportError: 

49 module = __import__("sqlalchemy.dialects.firebird").dialects 

50 module = getattr(module, dialect) 

51 elif dialect == "sybase": 

52 try: 

53 module = __import__("sqlalchemy_sybase") 

54 except ImportError: 

55 module = __import__("sqlalchemy.dialects.sybase").dialects 

56 module = getattr(module, dialect) 

57 else: 

58 module = __import__("sqlalchemy.dialects.%s" % (dialect,)).dialects 

59 module = getattr(module, dialect) 

60 except ImportError: 

61 return None 

62 

63 if hasattr(module, driver): 

64 module = getattr(module, driver) 

65 return lambda: module.dialect 

66 else: 

67 return None 

68 

69 

70registry = util.PluginLoader("sqlalchemy.dialects", auto_fn=_auto_fn) 

71 

72plugins = util.PluginLoader("sqlalchemy.plugins")