[Twisted-Python] Helping the Python 3 port
Jonathan Ballet
jon at multani.info
Wed May 8 13:27:52 MDT 2013
On Wed, May 08, 2013 at 07:02:47PM -0000, exarkun at twistedmatrix.com wrote:
> On 02:30 pm, jon at multani.info wrote:
> >Hi,
> >
> >I'm interested to give a help to port Twisted to Python 3.
> >I gave a look at the tickets on Trac tagged with py3k and those in the
> >Python-3.x milestone. I gave a try at
> >http://twistedmatrix.com/trac/ticket/5802 to see what still needed to
> >be
> >done, and after rebasing the patch on trunk and starting to hack a few
> >modules, I noticed that I have to do those 3 things in a bunch of
> >places:
> >
> >* use the newer "except Exception as e" instead of "except Exception,
> >e"
> >* use the print function instead of the print statement
> >* replace "implements(IFoo)" by the class decorator
> >"@implementer(IFoo)"
> >
> >I can probably post a new patch which fixes all those things in order
> >for Trial (as per #5802) to just start, but I wonder if this is the
> >right approach and if it wouldn't be better to fix those first (since
> >they are, AFAIK, compatible with Python 2.6 anyway).
> >
> >Any idea?
>
> To expand on what others have said in this thread, here's another
> approach you might consider:
>
> 1) Open up twisted/scripts/trial.py and look at what Twisted modules it
> imports.
>
> 2) If you do this, you'll see it uses (among other things)
> twisted.python.usage.
>
> 3) Look at admin/_twistedpython3.py, you'll see that
> twisted.python.usage hasn't been ported yet.
>
> 4) Look at twisted/python/usage.py and you'll see it doesn't have very
> many Twisted dependencies (making it a better candidate for porting work
> than twisted/scripts/trial.py). Look through the tracker to see if
> there's a ticket for porting any of these. As it turns out,
> twisted.python.util has already been ported and there are tickets for
> twisted.python.reflect (#6239 - sort of) and twisted.python.text (#1601
> and #6341 - sort of).
>
> 5) Pick up one of those dependency tickets to start with - #1601 and
> #6341 seem to be in progress, but I don't see anyone actively working on
> #6239.
>
> 6) Port that module by making its test suite pass and generally
> following the steps given the Python 3 porting page on the wiki.
OK, so we can probably sum all of this with: get the dependencies
ticketed, ported and merged first, before tackling big things like
twisted/scripts/trial.py
Is that right?
Jonathan
More information about the Twisted-Python
mailing list