From 9e37d56c3a485991f2af2b362581c3af7e2065ce Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Fri, 3 Jul 2009 22:32:08 -0400 Subject: Move the backward-compatibility definitions to a common file. There seems to be no pretty way to do this. --- coverage/backward.py | 24 ++++++++++++++++++++++++ coverage/data.py | 10 +--------- coverage/parser.py | 10 +--------- 3 files changed, 26 insertions(+), 18 deletions(-) create mode 100644 coverage/backward.py (limited to 'coverage') 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: -- cgit v1.2.1