[Twisted-Python] Python 2.2 Support
Jonathan Lange
jml at mumak.net
Mon Nov 7 06:47:49 MST 2005
On 06/11/05, Jean-Paul Calderone <exarkun at divmod.com> wrote:
> >You are confused. At least two people were *for* dropping 2.2 support
> >in this thread, and nobody was against it. I'm pretty sure several
> >others have been for dropping it on IRC, as well.
>
> Confused, perhaps. Or perhaps their positions were voiced with such limited enthusiasm I just forgot about them :)
My apologies. I often try to restrain my enthusiasm for fear that
excess emotion will sidetrack rational discussion. I am very keen to
ditch Python 2.2 support.
> It's a pretty good list, I must admit. But I wonder what the specific gains to Twisted will be. Just having a list of things Python 2.3 can do that Python 2.2 cannot does not seem compelling to me.
One specific gain already mentioned is that we get to remove a bunch
of code. Less code means fewer bugs and less work. It might even
improve our test coverage.
Here's a list of stuff (shamelessly grepped) that could probably be
simplified if we dropped 2.2 support:
twisted/conch/test/test_filetransfer.py: # XXX: Remove 'uid'
and 'gid', because python 2.2 doesn't have os.lchown, so we just skip
that bit (dodgy!)
twisted/conch/unix.py: # XXX: Python 2.2 doesn't have os.lchown!
twisted/internet/error.py: # only works in 2.2
twisted/python/dist.py: Python 2.2's distutils. Pretty similar
arguments to getDataFiles,
twisted/python/dist.py:# Apple distributes a nasty version of Python
2.2 w/ all release builds of
twisted/python/dist.py: Changes behavior in Python 2.2 to support
simultaneous specification twisted/python/reflect.py: This is a
2.2-only alternative to the Accessor mixin - just set in your
twisted/python/zshcomp.py:# in case of python2.2 ...
twisted/test/test_compat.py: # without replacing isinstance on
2.2 as well :(
twisted/topfiles/setup.py:# 2.2 doesn't have __file__ in main-scripts.
twisted/trial/unittest.py: # only overriding this because
Python 2.2's unittest has a broken
twisted/trial/unittest.py: """a python2.2 friendly test to
assert that substring is found in astring
twisted/trial/unittest.py: """a python2.2 friendly test to
assert that substring is not found in
twisted/trial/unittest.py: # FIXME: when we drop support for
python 2.2 and start to require 2.3,
twisted/conch/ssh/filetransfer.py: isFile, name =
self.wasAFile[d] # replace with get when we're at 2.3
twisted/lore/lint.py:# parser.suite in Python 2.3 raises SyntaxError,
<2.3 raises parser.ParserError
twisted/scripts/trial.py: (relative to _trial_temp). Requires
Python 2.3.3."""
twisted/spread/jelly.py: raise
NotImplementedError("Datetime unserializing not supported in Python <
2.3")
twisted/trial/runner.py: "python 2.3 or
later, not running doctests")
twisted/trial/runner.py: "python 2.3 or
later, not running doctests")
twisted/trial/test/test_doctest.py: skip = 'doctest support only
works on 2.3 or later'
twisted/trial/test/test_doctest.py: # doctest reports failures
as errors in 2.3
twisted/trial/test/test_failure_formatting.py: 'doctest
support only works in Python 2.3 or later')
twisted/words/protocols/jabber/xmpp_stringprep.py:
"recommended you upgrade to Python 2.3.2 or newer if you "
Plus the modules in twisted/python/pymodules.
As you can see, Trial carries a fair part of the 2.2 support burden.
I'm eager to be rid of it.
cheers,
jml
More information about the Twisted-Python
mailing list