From c3bc073fd952951ebc3a6d8c9fb956f329733bf2 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Mon, 19 Apr 2010 03:47:43 +0000 Subject: Remove the compat version of the "itertools" module. --- src/engine/MANIFEST.in | 1 - src/engine/SCons/compat/__init__.py | 5 -- src/engine/SCons/compat/_scons_itertools.py | 124 ---------------------------- src/test_pychecker.py | 1 - 4 files changed, 131 deletions(-) delete mode 100644 src/engine/SCons/compat/_scons_itertools.py diff --git a/src/engine/MANIFEST.in b/src/engine/MANIFEST.in index e6deb6d..e612627 100644 --- a/src/engine/MANIFEST.in +++ b/src/engine/MANIFEST.in @@ -7,7 +7,6 @@ SCons/compat/_scons_collections.py SCons/compat/_scons_dbm.py SCons/compat/_scons_hashlib.py SCons/compat/_scons_io.py -SCons/compat/_scons_itertools.py SCons/compat/_scons_optparse.py SCons/compat/_scons_sets.py SCons/compat/_scons_shlex.py diff --git a/src/engine/SCons/compat/__init__.py b/src/engine/SCons/compat/__init__.py index 1318bf5..f1f3e0c 100644 --- a/src/engine/SCons/compat/__init__.py +++ b/src/engine/SCons/compat/__init__.py @@ -158,11 +158,6 @@ except ImportError: # Pre-2.6 Python has no io module. import_as('_scons_io', 'io') -try: - import itertools -except ImportError: - # Pre-2.3 Python has no itertools module. - import_as('_scons_itertools', 'itertools') # If we need the compatibility version of textwrap, it must be imported # before optparse, which uses it. diff --git a/src/engine/SCons/compat/_scons_itertools.py b/src/engine/SCons/compat/_scons_itertools.py deleted file mode 100644 index 849679e..0000000 --- a/src/engine/SCons/compat/_scons_itertools.py +++ /dev/null @@ -1,124 +0,0 @@ -# -# __COPYRIGHT__ -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# - -__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" - -__doc__ = """ -Implementations of itertools functions for Python versions that don't -have iterators. - -These implement the functions by creating the entire list, not returning -it element-by-element as the real itertools functions do. This means -that early Python versions won't get the performance benefit of using -the itertools, but we can still use them so the later Python versions -do get the advantages of using iterators. - -Because we return the entire list, we intentionally do not implement the -itertools functions that "return" infinitely-long lists: the count(), -cycle() and repeat() functions. Other functions below have remained -unimplemented simply because they aren't being used (yet) and it wasn't -obvious how to do it. Or, conversely, we only implemented those functions -that *were* easy to implement (mostly because the Python documentation -contained examples of equivalent code). - -Note that these do not have independent unit tests, so it's possible -that there are bugs. -""" - -def chain(*iterables): - result = [] - for x in iterables: - result.extend(list(x)) - return result - -def count(n=0): - # returns infinite length, should not be supported - raise NotImplementedError - -def cycle(iterable): - # returns infinite length, should not be supported - raise NotImplementedError - -def dropwhile(predicate, iterable): - result = [] - for x in iterable: - if not predicate(x): - result.append(x) - break - result.extend(iterable) - return result - -def groupby(iterable, *args): - raise NotImplementedError - -def ifilter(predicate, iterable): - result = [] - if predicate is None: - predicate = bool - for x in iterable: - if predicate(x): - result.append(x) - return result - -def ifilterfalse(predicate, iterable): - result = [] - if predicate is None: - predicate = bool - for x in iterable: - if not predicate(x): - result.append(x) - return result - -def imap(function, *iterables): - return iter(map(function, *tuple(iterables))) - -def islice(*args, **kw): - raise NotImplementedError - -def izip(*iterables): - return iter(zip(*iterables)) - -def repeat(*args, **kw): - # returns infinite length, should not be supported - raise NotImplementedError - -def starmap(*args, **kw): - raise NotImplementedError - -def takewhile(predicate, iterable): - result = [] - for x in iterable: - if predicate(x): - result.append(x) - else: - break - return result - -def tee(*args, **kw): - raise NotImplementedError - -# Local Variables: -# tab-width:4 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=4 shiftwidth=4: diff --git a/src/test_pychecker.py b/src/test_pychecker.py index f123d21..5930bb2 100644 --- a/src/test_pychecker.py +++ b/src/test_pychecker.py @@ -72,7 +72,6 @@ ignore = [ 'SCons/compat/__init__.py', 'SCons/compat/_scons_UserString.py', 'SCons/compat/_scons_hashlib.py', - 'SCons/compat/_scons_itertools.py', 'SCons/compat/_scons_optparse.py', 'SCons/compat/_scons_sets.py', 'SCons/compat/_scons_shlex.py', -- cgit v0.12