From 21fbd8320b8bec9ebf78bce5cf1137b1648c2170 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 22 Jan 2012 20:51:41 -0500 Subject: [PATCH] 2.4 doesn't have any() --- lib/sqlalchemy/util/__init__.py | 2 +- lib/sqlalchemy/util/compat.py | 10 ++++++++++ test/orm/test_default_strategies.py | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/sqlalchemy/util/__init__.py b/lib/sqlalchemy/util/__init__.py index b03d52a189..5712940258 100644 --- a/lib/sqlalchemy/util/__init__.py +++ b/lib/sqlalchemy/util/__init__.py @@ -7,7 +7,7 @@ from compat import callable, cmp, reduce, defaultdict, py25_dict, \ threading, py3k_warning, jython, pypy, win32, set_types, buffer, pickle, \ update_wrapper, partial, md5_hex, decode_slice, dottedgetter,\ - parse_qsl + parse_qsl, any from _collections import NamedTuple, ImmutableContainer, immutabledict, \ Properties, OrderedProperties, ImmutableProperties, OrderedDict, \ diff --git a/lib/sqlalchemy/util/compat.py b/lib/sqlalchemy/util/compat.py index 493d148017..3a92098263 100644 --- a/lib/sqlalchemy/util/compat.py +++ b/lib/sqlalchemy/util/compat.py @@ -192,6 +192,16 @@ if win32 or jython: else: time_func = time.time +if sys.version_info >= (2, 5): + any = __builtin__.any +else: + def any(iterator): + for item in iterator: + if bool(item): + return True + else: + return False + if sys.version_info >= (2, 5): def decode_slice(slc): """decode a slice object as sent to __getitem__. diff --git a/test/orm/test_default_strategies.py b/test/orm/test_default_strategies.py index 4e0f7c4790..7dbc9adcb4 100644 --- a/test/orm/test_default_strategies.py +++ b/test/orm/test_default_strategies.py @@ -2,6 +2,7 @@ from test.orm import _fixtures from test.lib import testing from sqlalchemy.orm import mapper, relationship, create_session from sqlalchemy import util +from sqlalchemy.util import any import sqlalchemy as sa from test.lib.testing import eq_, assert_raises_message -- 2.47.2