diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-04-17 20:49:35 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2007-04-17 20:49:35 +0000 |
commit | aabb6e530b05bee9cc5c2382a308a987abd6168e (patch) | |
tree | cd937947baf100d75e679e2f6d40e3a287ffc196 /lib/sqlalchemy/databases/postgres.py | |
parent | 8d7a271b8687dbcb58cac713f9e16e445d242881 (diff) | |
download | sqlalchemy-aabb6e530b05bee9cc5c2382a308a987abd6168e.tar.gz |
- the dialects within sqlalchemy.databases become a setuptools
entry points. loading the built-in database dialects works the
same as always, but if none found will fall back to trying
pkg_resources to load an external module [ticket:521]
Diffstat (limited to 'lib/sqlalchemy/databases/postgres.py')
-rw-r--r-- | lib/sqlalchemy/databases/postgres.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/sqlalchemy/databases/postgres.py b/lib/sqlalchemy/databases/postgres.py index a93ba200c..0eca18be3 100644 --- a/lib/sqlalchemy/databases/postgres.py +++ b/lib/sqlalchemy/databases/postgres.py @@ -16,15 +16,6 @@ try: except: mxDateTime = None -def dbapi(): - try: - import psycopg2 as psycopg - except ImportError, e: - try: - import psycopg - except ImportError, e2: - raise e - return psycopg class PGInet(sqltypes.TypeEngine): def get_col_spec(self): @@ -258,6 +249,17 @@ class PGDialect(ansisql.ANSIDialect): self.use_information_schema = use_information_schema self.paramstyle = 'pyformat' + def dbapi(cls): + try: + import psycopg2 as psycopg + except ImportError, e: + try: + import psycopg + except ImportError, e2: + raise e + return psycopg + dbapi = classmethod(dbapi) + def create_connect_args(self, url): opts = url.translate_connect_args(['host', 'database', 'user', 'password', 'port']) if opts.has_key('port'): |