diff options
-rw-r--r-- | coverage/backward.py | 24 | ||||
-rw-r--r-- | coverage/data.py | 10 | ||||
-rw-r--r-- | coverage/parser.py | 10 | ||||
-rw-r--r-- | test/coveragetest.py | 9 |
4 files changed, 27 insertions, 26 deletions
diff --git a/coverage/backward.py b/coverage/backward.py new file mode 100644 index 00000000..506649d2 --- /dev/null +++ b/coverage/backward.py @@ -0,0 +1,24 @@ +"""Add things to old Pythons so I can pretend they are newer.""" + +# pylint: disable-msg=W0622 +# (Redefining built-in blah) +# The whole point of this file is to redefine built-ins, so shut up about it. + + +# Python 2.3 doesn't have `set` +try: + set = set # new in 2.4 +except NameError: + # (Redefining built-in 'set') + from sets import Set as set + + +# Python 2.3 doesn't have `sorted`. +try: + sorted = sorted +except NameError: + def sorted(iterable): + """A 2.3-compatible implementation of `sorted`.""" + lst = list(iterable) + lst.sort() + return lst diff --git a/coverage/data.py b/coverage/data.py index a616f536..0fb12c6b 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -3,15 +3,7 @@ import os import cPickle as pickle -# Python 2.3 compatibility: it doesn't have `sorted`. -try: - sorted -except NameError: - def sorted(iterable): # pylint: disable-msg=W0622 - """A 2.3-compatible implementation of `sorted`.""" - lst = list(iterable) - lst.sort() - return lst +from coverage.backward import sorted # pylint: disable-msg=W0622 class CoverageData: diff --git a/coverage/parser.py b/coverage/parser.py index 73e0bd59..3f0011ee 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -4,15 +4,7 @@ import re, token, tokenize, types import cStringIO as StringIO from coverage.misc import nice_pair, CoverageException - - -# Python version compatibility -try: - set # new in 2.4 -except NameError: - # pylint: disable-msg=W0622 - # (Redefining built-in 'set') - from sets import Set as set +from coverage.backward import set # pylint: disable-msg=W0622 class CodeParser: diff --git a/test/coveragetest.py b/test/coveragetest.py index 66bc8b62..baace807 100644 --- a/test/coveragetest.py +++ b/test/coveragetest.py @@ -3,15 +3,8 @@ import imp, os, random, shutil, sys, tempfile, textwrap, unittest from cStringIO import StringIO -# Python version compatibility -try: - set # new in 2.4 -except NameError: - # pylint: disable-msg=W0622 - # (Redefining built-in 'set') - from sets import Set as set - import coverage +from coverage.backward import set # pylint: disable-msg=W0622 class Tee(object): |