diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-05-29 18:49:27 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-05-29 18:49:27 -0400 |
| commit | 3bf77b1b0b18b6091c96e37823bcca87237d5482 (patch) | |
| tree | 7ce0a8733694d2ebf6e696dcca68d22fad8bd62b /lib/sqlalchemy/sql/visitors.py | |
| parent | 9c746c44a314d357b855108b6e99b773ce52f760 (diff) | |
| parent | be2c145a84df5db0233f84995765d3f614776f75 (diff) | |
| download | sqlalchemy-3bf77b1b0b18b6091c96e37823bcca87237d5482.tar.gz | |
Merge branch 'rel_0_9'
Conflicts:
lib/sqlalchemy/dialects/postgresql/hstore.py
lib/sqlalchemy/util/__init__.py
lib/sqlalchemy/util/compat.py
Diffstat (limited to 'lib/sqlalchemy/sql/visitors.py')
| -rw-r--r-- | lib/sqlalchemy/sql/visitors.py | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/lib/sqlalchemy/sql/visitors.py b/lib/sqlalchemy/sql/visitors.py index f1dbb9e32..4d2948462 100644 --- a/lib/sqlalchemy/sql/visitors.py +++ b/lib/sqlalchemy/sql/visitors.py @@ -49,11 +49,9 @@ class VisitableType(type): Classes having no __visit_name__ attribute will remain unaffected. """ def __init__(cls, clsname, bases, clsdict): - if cls.__name__ == 'Visitable' or not hasattr(cls, '__visit_name__'): - super(VisitableType, cls).__init__(clsname, bases, clsdict) - return - - _generate_dispatch(cls) + if clsname not in ('MetaBase', 'Visitable') and \ + hasattr(cls, '__visit_name__'): + _generate_dispatch(cls) super(VisitableType, cls).__init__(clsname, bases, clsdict) @@ -87,14 +85,12 @@ def _generate_dispatch(cls): cls._compiler_dispatch = _compiler_dispatch -class Visitable(object): +class Visitable(util.with_metaclass(VisitableType, object)): """Base class for visitable objects, applies the ``VisitableType`` metaclass. """ - __metaclass__ = VisitableType - class ClauseVisitor(object): """Base class for visitor objects which can traverse using |
