summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coverage/backward.py24
-rw-r--r--coverage/data.py10
-rw-r--r--coverage/parser.py10
-rw-r--r--test/coveragetest.py9
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):