From: Mike Bayer Date: Wed, 21 Oct 2009 04:45:29 +0000 (+0000) Subject: some cleanup X-Git-Tag: rel_0_6beta1~236 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7dddcd140339509fb3d208a37eb1ac0f1ea3aa3a;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git some cleanup --- diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index 02165aad5e..d1265c75f3 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -76,9 +76,7 @@ def find_columns(clause): """locate Column objects within the given expression.""" cols = util.column_set() - def visit_column(col): - cols.add(col) - visitors.traverse(clause, {}, {'column':visit_column}) + visitors.traverse(clause, {}, {'column':cols.add}) return cols def join_condition(a, b, ignore_nonexistent_tables=False): @@ -327,30 +325,43 @@ def reduce_columns(columns, *clauses, **kw): return expression.ColumnSet(columns.difference(omit)) -def criterion_as_pairs(expression, consider_as_foreign_keys=None, consider_as_referenced_keys=None, any_operator=False): +def criterion_as_pairs(expression, consider_as_foreign_keys=None, + consider_as_referenced_keys=None, any_operator=False): """traverse an expression and locate binary criterion pairs.""" if consider_as_foreign_keys and consider_as_referenced_keys: - raise exc.ArgumentError("Can only specify one of 'consider_as_foreign_keys' or 'consider_as_referenced_keys'") + raise exc.ArgumentError("Can only specify one of " + "'consider_as_foreign_keys' or " + "'consider_as_referenced_keys'") def visit_binary(binary): if not any_operator and binary.operator is not operators.eq: return - if not isinstance(binary.left, sql.ColumnElement) or not isinstance(binary.right, sql.ColumnElement): + if not isinstance(binary.left, sql.ColumnElement) or \ + not isinstance(binary.right, sql.ColumnElement): return if consider_as_foreign_keys: - if binary.left in consider_as_foreign_keys and (binary.right is binary.left or binary.right not in consider_as_foreign_keys): + if binary.left in consider_as_foreign_keys and \ + (binary.right is binary.left or + binary.right not in consider_as_foreign_keys): pairs.append((binary.right, binary.left)) - elif binary.right in consider_as_foreign_keys and (binary.left is binary.right or binary.left not in consider_as_foreign_keys): + elif binary.right in consider_as_foreign_keys and \ + (binary.left is binary.right or + binary.left not in consider_as_foreign_keys): pairs.append((binary.left, binary.right)) elif consider_as_referenced_keys: - if binary.left in consider_as_referenced_keys and (binary.right is binary.left or binary.right not in consider_as_referenced_keys): + if binary.left in consider_as_referenced_keys and \ + (binary.right is binary.left or + binary.right not in consider_as_referenced_keys): pairs.append((binary.left, binary.right)) - elif binary.right in consider_as_referenced_keys and (binary.left is binary.right or binary.left not in consider_as_referenced_keys): + elif binary.right in consider_as_referenced_keys and \ + (binary.left is binary.right or + binary.left not in consider_as_referenced_keys): pairs.append((binary.right, binary.left)) else: - if isinstance(binary.left, schema.Column) and isinstance(binary.right, schema.Column): + if isinstance(binary.left, schema.Column) and \ + isinstance(binary.right, schema.Column): if binary.left.references(binary.right): pairs.append((binary.right, binary.left)) elif binary.right.references(binary.left):