]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
- remove some remaining sys.modules shenanigans rel_0_7b1
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 12 Feb 2011 23:00:45 +0000 (18:00 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 12 Feb 2011 23:00:45 +0000 (18:00 -0500)
- The "sqlalchemy.exceptions" alias in sys.modules
has been removed.   Base SQLA exceptions are
available via "from sqlalchemy import exc".
The "exceptions" alias for "exc" remains in
"sqlalchemy" for now, it's just not patched into
sys.modules.

15 files changed:
CHANGES
lib/sqlalchemy/__init__.py
lib/sqlalchemy/ext/horizontal_shard.py
lib/sqlalchemy/ext/sqlsoup.py
lib/sqlalchemy/orm/attributes.py
lib/sqlalchemy/orm/collections.py
lib/sqlalchemy/orm/dependency.py
lib/sqlalchemy/orm/interfaces.py
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/scoping.py
lib/sqlalchemy/orm/session.py
lib/sqlalchemy/orm/util.py
lib/sqlalchemy/schema.py
lib/sqlalchemy/types.py
test/orm/_base.py

diff --git a/CHANGES b/CHANGES
index 641647d63c67f53475f34bf36d862b0db20b0ea4..5899b500f1b131fdd978ed42c5457a4598a912e2 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -19,6 +19,13 @@ CHANGES
   - Setup no longer installs a Nose plugin
     [ticket:1949]
 
+  - The "sqlalchemy.exceptions" alias in sys.modules
+    has been removed.   Base SQLA exceptions are 
+    available via "from sqlalchemy import exc".
+    The "exceptions" alias for "exc" remains in 
+    "sqlalchemy" for now, it's just not patched into 
+    sys.modules.
+
 - orm
   - More succinct form of query.join(target, onclause)
     [ticket:1923]
index d54afa41c47be4a3e23e2622716feae9ff917382..d76afa49c7cf8e2d6ed526da96cab72df9538d31 100644 (file)
@@ -8,7 +8,6 @@ import inspect
 import sys
 
 import sqlalchemy.exc as exceptions
-sys.modules['sqlalchemy.exceptions'] = exceptions
 
 from sqlalchemy.sql import (
     alias,
index 926c029d0e5e568f0818240a852ba5aeb9dcf139..32c767e1129e4a7b7e69f0763124912cb8174e02 100644 (file)
@@ -14,7 +14,7 @@ the source distrbution.
 
 """
 
-import sqlalchemy.exceptions as sa_exc
+from sqlalchemy import exc as sa_exc
 from sqlalchemy import util
 from sqlalchemy.orm.session import Session
 from sqlalchemy.orm.query import Query
index ded8a35cd50870f25b8028331735dbf33d810dbb..f76a175a4e29149cb3ad59457fcf3c9193106665 100644 (file)
@@ -367,7 +367,7 @@ from sqlalchemy.orm import scoped_session, sessionmaker, mapper, \
                             class_mapper, relationship, session,\
                             object_session, attributes
 from sqlalchemy.orm.interfaces import MapperExtension, EXT_CONTINUE
-from sqlalchemy.exceptions import SQLAlchemyError, InvalidRequestError, ArgumentError
+from sqlalchemy.exc import SQLAlchemyError, InvalidRequestError, ArgumentError
 from sqlalchemy.sql import expression
 
 
index e7b04c4af645bda86fd7949bb03146a6ed3497bb..485210d1cfda94c3d17f382c25e9a04f3bc0a120 100644 (file)
@@ -16,9 +16,9 @@ defines a large part of the ORM's interactivity.
 import operator
 from operator import itemgetter
 
-from sqlalchemy import util, event
+from sqlalchemy import util, event, exc as sa_exc
 from sqlalchemy.orm import interfaces, collections, events
-import sqlalchemy.exceptions as sa_exc
+
 
 mapperutil = util.importlater("sqlalchemy.orm", "util")
 
index 4b03a50db4f9d5758389f83b13ae82b6380da7d5..142519206cf1a2941829b6f7d9110aef9dc71224 100644 (file)
@@ -108,9 +108,8 @@ import operator
 import sys
 import weakref
 
-import sqlalchemy.exceptions as sa_exc
 from sqlalchemy.sql import expression
-from sqlalchemy import schema, util
+from sqlalchemy import schema, util, exc as sa_exc
 
 
 __all__ = ['collection', 'collection_adapter',
index 5b513c9c851ceb5c839b13e6c9e749fd8a51486f..402d031c3179590077b63bc4db0088c9367f98a4 100644 (file)
@@ -8,8 +8,7 @@
 
 """
 
-from sqlalchemy import sql, util
-import sqlalchemy.exceptions as sa_exc
+from sqlalchemy import sql, util, exc as sa_exc
 from sqlalchemy.orm import attributes, exc, sync, unitofwork, \
                                         util as mapperutil
 from sqlalchemy.orm.interfaces import ONETOMANY, MANYTOONE, MANYTOMANY
index f68d2a289d8e726f61065dabd5aa6bbbe5e40ff6..39bc61290996bc98e3c42eace71f97ce6ee680aa 100644 (file)
@@ -18,7 +18,7 @@ classes within should be considered mostly private.
 
 from itertools import chain
 
-import sqlalchemy.exceptions as sa_exc
+from sqlalchemy import exc as sa_exc
 from sqlalchemy import log, util, event
 from sqlalchemy.sql import expression
 deque = util.importlater('collections').deque
index 1815901e8a013dae5c0615bbffec41257ec48274..68e3196dfd36e66171e3e927c600ef873f055ee7 100644 (file)
@@ -11,8 +11,7 @@ mapped attributes.
 
 """
 
-from sqlalchemy import sql, util, log
-import sqlalchemy.exceptions as sa_exc
+from sqlalchemy import sql, util, log, exc as sa_exc
 from sqlalchemy.sql.util import ClauseAdapter, criterion_as_pairs, \
     join_condition
 from sqlalchemy.sql import operators, expression
index 1068f670452b2165147c4e0791bf66c3de6f23c6..53e5e5d1fa5bcc4389db4b8d9fc52d4871a09c21 100644 (file)
@@ -4,7 +4,7 @@
 # This module is part of SQLAlchemy and is released under
 # the MIT License: http://www.opensource.org/licenses/mit-license.php
 
-import sqlalchemy.exceptions as sa_exc
+from sqlalchemy import exc as sa_exc
 from sqlalchemy.util import ScopedRegistry, ThreadLocalRegistry, warn
 from sqlalchemy.orm import class_mapper
 from sqlalchemy.orm import exc as orm_exc
index d650bf9b134a343b89c7570b7a3ded5b01994d87..53f29ffeb8678d881e497bc260ed8898fa33768a 100644 (file)
@@ -8,8 +8,7 @@
 
 import weakref
 from itertools import chain
-import sqlalchemy.exceptions as sa_exc
-from sqlalchemy import util, sql, engine, log
+from sqlalchemy import util, sql, engine, log, exc as sa_exc
 from sqlalchemy.sql import util as sql_util, expression
 from sqlalchemy.orm import (
     SessionExtension, attributes, exc, query, unitofwork, util as mapperutil, state
index a1a50f2ad18dd9629474ffbaa811912d23ca7f44..ecdf804bd9298c2edf63daabcaf6af29c93aa711 100644 (file)
@@ -4,8 +4,8 @@
 # This module is part of SQLAlchemy and is released under
 # the MIT License: http://www.opensource.org/licenses/mit-license.php
 
-import sqlalchemy.exceptions as sa_exc
-from sqlalchemy import sql, util, event
+
+from sqlalchemy import sql, util, event, exc as sa_exc
 from sqlalchemy.sql import expression, util as sql_util, operators
 from sqlalchemy.orm.interfaces import MapperExtension, EXT_CONTINUE,\
                                 PropComparator, MapperProperty
index 95f0eb8ecaa2ef85d2605dc83f26da43aec13512..3a4bd90ce9c2d65aa3ad6581c40d38fafba036c3 100644 (file)
@@ -34,7 +34,7 @@ from sqlalchemy import event, events
 
 sqlutil = util.importlater("sqlalchemy.sql", "util")
 url = util.importlater("sqlalchemy.engine", "url")
-
+sqltypes = util.importlater("sqlalchemy", "types")
 
 __all__ = ['SchemaItem', 'Table', 'Column', 'ForeignKey', 'Sequence', 'Index',
            'ForeignKeyConstraint', 'PrimaryKeyConstraint', 'CheckConstraint',
@@ -318,7 +318,7 @@ class Table(SchemaItem, expression.TableClause):
     def _autoincrement_column(self):
         for col in self.primary_key:
             if col.autoincrement and \
-                issubclass(col.type._type_affinity, types.Integer) and \
+                issubclass(col.type._type_affinity, sqltypes.Integer) and \
                 not col.foreign_keys and \
                 isinstance(col.default, (type(None), Sequence)) and \
                 (col.server_default is None or col.server_default.reflected):
@@ -679,9 +679,9 @@ class Column(SchemaItem, expression.ColumnClause):
         if args:
             coltype = args[0]
 
-            if (isinstance(coltype, types.TypeEngine) or
+            if (isinstance(coltype, sqltypes.TypeEngine) or
                 (isinstance(coltype, type) and
-                 issubclass(coltype, types.TypeEngine))):
+                 issubclass(coltype, sqltypes.TypeEngine))):
                 if type_ is not None:
                     raise exc.ArgumentError(
                         "May not pass type_ positionally and as a keyword.")
@@ -709,7 +709,7 @@ class Column(SchemaItem, expression.ColumnClause):
         if '_proxies' in kwargs:
             self.proxies = kwargs.pop('_proxies')
         # otherwise, add DDL-related events
-        elif isinstance(self.type, types.SchemaType):
+        elif isinstance(self.type, sqltypes.SchemaType):
             self.type._set_parent_with_dispatch(self)
 
         if self.default is not None:
@@ -1185,7 +1185,7 @@ class ForeignKey(SchemaItem):
             _column = self._colspec
 
         # propagate TypeEngine to parent if it didn't have one
-        if isinstance(self.parent.type, types.NullType):
+        if isinstance(self.parent.type, sqltypes.NullType):
             self.parent.type = _column.type
         return _column
 
index 3a1415796617d1d540411a8db7f9af65d38eab94..a46cb15309fbe51b47288edc2316c527791cc8cc 100644 (file)
@@ -26,8 +26,6 @@ import codecs
 
 from sqlalchemy import exc, schema
 from sqlalchemy.sql import expression, operators
-import sys
-schema.types = expression.sqltypes = sys.modules['sqlalchemy.types']
 from sqlalchemy.util import pickle
 from sqlalchemy.util.compat import decimal
 from sqlalchemy.sql.visitors import Visitable
index ef1ec33f1311c3e356dbe43b97bc723748a54d91..cd75e464fbc8636a8b058ab7341297b15ed2d3e9 100644 (file)
@@ -2,7 +2,7 @@ import inspect
 import sys
 import types
 import sqlalchemy as sa
-import sqlalchemy.exceptions as sa_exc
+from sqlalchemy import exc as sa_exc
 from test.lib import config, testing
 from test.lib.testing import resolve_artifact_names, adict
 from test.lib.engines import drop_all_tables