From bd5617020a50bcd08269330638d64078c1b30b71 Mon Sep 17 00:00:00 2001 From: Guido Trotter <ultrotter@google.com> Date: Mon, 15 Mar 2010 11:37:38 +0000 Subject: [PATCH] Only override any and all if not defined If any or all are already defined (because we're using a new version of python) just link them inside "utils" rather than redefining them. Signed-off-by: Guido Trotter <ultrotter@google.com> Reviewed-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/utils.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/lib/utils.py b/lib/utils.py index e6a191e37..edc92b4f9 100644 --- a/lib/utils.py +++ b/lib/utils.py @@ -1477,18 +1477,24 @@ def FirstFree(seq, base=0): return None -def all(seq, pred=bool): # pylint: disable-msg=W0622 - "Returns True if pred(x) is True for every element in the iterable" - for _ in itertools.ifilterfalse(pred, seq): - return False - return True +try: + all = all # pylint: disable-msg=W0622 +except NameError: + def all(seq, pred=bool): # pylint: disable-msg=W0622 + "Returns True if pred(x) is True for every element in the iterable" + for _ in itertools.ifilterfalse(pred, seq): + return False + return True -def any(seq, pred=bool): # pylint: disable-msg=W0622 - "Returns True if pred(x) is True for at least one element in the iterable" - for _ in itertools.ifilter(pred, seq): - return True - return False +try: + any = any # pylint: disable-msg=W0622 +except NameError: + def any(seq, pred=bool): # pylint: disable-msg=W0622 + "Returns True if pred(x) is True for at least one element in the iterable" + for _ in itertools.ifilter(pred, seq): + return True + return False def partition(seq, pred=bool): # # pylint: disable-msg=W0622 -- GitLab