diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-06-23 14:45:47 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-06-23 14:45:47 -0400 |
commit | 0efac1d93e27220f2aa1ec09b282fb08a7bb02be (patch) | |
tree | dbd806874a223253d0c8f52465a77f7e0754c7a8 /lib/sqlalchemy/orm/evaluator.py | |
parent | df62f4501ee1ec37113477eb6a97068cc07faf5d (diff) | |
download | sqlalchemy-0efac1d93e27220f2aa1ec09b282fb08a7bb02be.tar.gz |
- move all of orm to use absolute imports
- break out key mechanics of loading objects
into new "orm.loading" module, removing implementation
details from both mapper.py and query.py. is analogous
to persistence.py
- some other cleanup and old cruft removal
Diffstat (limited to 'lib/sqlalchemy/orm/evaluator.py')
-rw-r--r-- | lib/sqlalchemy/orm/evaluator.py | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/lib/sqlalchemy/orm/evaluator.py b/lib/sqlalchemy/orm/evaluator.py index e727c17bb..5de514da8 100644 --- a/lib/sqlalchemy/orm/evaluator.py +++ b/lib/sqlalchemy/orm/evaluator.py @@ -5,9 +5,7 @@ # the MIT License: http://www.opensource.org/licenses/mit-license.php import operator -from sqlalchemy.sql import operators, functions -from sqlalchemy.sql import expression as sql - +from ..sql import operators class UnevaluatableError(Exception): pass @@ -22,15 +20,16 @@ _straight_ops = set(getattr(operators, op) _notimplemented_ops = set(getattr(operators, op) - for op in ('like_op', 'notlike_op', 'ilike_op', - 'notilike_op', 'between_op', 'in_op', - 'notin_op', 'endswith_op', 'concat_op')) + for op in ('like_op', 'notlike_op', 'ilike_op', + 'notilike_op', 'between_op', 'in_op', + 'notin_op', 'endswith_op', 'concat_op')) class EvaluatorCompiler(object): def process(self, clause): meth = getattr(self, "visit_%s" % clause.__visit_name__, None) if not meth: - raise UnevaluatableError("Cannot evaluate %s" % type(clause).__name__) + raise UnevaluatableError( + "Cannot evaluate %s" % type(clause).__name__) return meth(clause) def visit_grouping(self, clause): @@ -71,12 +70,15 @@ class EvaluatorCompiler(object): return False return True else: - raise UnevaluatableError("Cannot evaluate clauselist with operator %s" % clause.operator) + raise UnevaluatableError( + "Cannot evaluate clauselist with operator %s" % + clause.operator) return evaluate def visit_binary(self, clause): - eval_left,eval_right = map(self.process, [clause.left, clause.right]) + eval_left,eval_right = map(self.process, + [clause.left, clause.right]) operator = clause.operator if operator is operators.is_: def evaluate(obj): @@ -92,7 +94,9 @@ class EvaluatorCompiler(object): return None return operator(eval_left(obj), eval_right(obj)) else: - raise UnevaluatableError("Cannot evaluate %s with operator %s" % (type(clause).__name__, clause.operator)) + raise UnevaluatableError( + "Cannot evaluate %s with operator %s" % + (type(clause).__name__, clause.operator)) return evaluate def visit_unary(self, clause): @@ -104,7 +108,9 @@ class EvaluatorCompiler(object): return None return not value return evaluate - raise UnevaluatableError("Cannot evaluate %s with operator %s" % (type(clause).__name__, clause.operator)) + raise UnevaluatableError( + "Cannot evaluate %s with operator %s" % + (type(clause).__name__, clause.operator)) def visit_bindparam(self, clause): val = clause.value |