diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-08-06 20:22:15 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-08-06 20:22:15 -0400 |
| commit | fabdc76047b1215d6ebc9dc239113dafffe5bc04 (patch) | |
| tree | fe21a15a1290c96d715afac0aac25bb43f9a7bdd /lib/sqlalchemy/ext/hybrid.py | |
| parent | 518b374f5bf57db92a7f8bdf408bc06f561e1f0d (diff) | |
| download | sqlalchemy-fabdc76047b1215d6ebc9dc239113dafffe5bc04.tar.gz | |
dev
Diffstat (limited to 'lib/sqlalchemy/ext/hybrid.py')
| -rw-r--r-- | lib/sqlalchemy/ext/hybrid.py | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/lib/sqlalchemy/ext/hybrid.py b/lib/sqlalchemy/ext/hybrid.py index b74b407c5..609f5aa8e 100644 --- a/lib/sqlalchemy/ext/hybrid.py +++ b/lib/sqlalchemy/ext/hybrid.py @@ -112,7 +112,7 @@ class property_(object): self.expr = expr return self - def compare_with(self, comparator): + def comparator(self, comparator): proxy_attr = attributes.\ create_proxied_attribute(self) def expr(owner): @@ -122,23 +122,18 @@ class property_(object): class Comparator(interfaces.PropComparator): - def __init__(self, expression, adapter=None): - self._expression = expression - self.adapter = adapter + def __init__(self, expression): + self.expression = expression - @property - def expression(self): - return self.__clause_element__() - def __clause_element__(self): - if self.adapter: - return self.adapter(self._expression) - else: - return self._expression + expr = self.expression + while hasattr(expr, '__clause_element__'): + expr = expr.__clause_element__() + return expr - def adapted(self, adapter): - return self.__class__(self._expression, adapter) + # interesting.... + return self |
