<div dir="ltr"><div><div><div><div><div>Hi,<br><br></div>I have submitted some Python 3 patches for Twisted.<br><br></div><div>1.  PATCHES REVIEWED AND COMMITTED TO TRUNK<br>=============================================<br><br>Use new syntax for catching exceptions<br><a href="https://twistedmatrix.com/trac/ticket/8344">https://twistedmatrix.com/trac/ticket/8344</a><br><br>Use new syntax for raising exceptions<br><a href="https://twistedmatrix.com/trac/ticket/8345">https://twistedmatrix.com/trac/ticket/8345</a><br><br></div><div>Remove old syntax for octal literals<br><a href="https://twistedmatrix.com/trac/ticket/8347">https://twistedmatrix.com/trac/ticket/8347</a><br><br></div><div>Fix parentheses in list comprehensions<br><a href="https://twistedmatrix.com/trac/ticket/8351">https://twistedmatrix.com/trac/ticket/8351</a><br></div><div><br></div><div><br></div><div>2.  PATCHES WHICH STILL NEED TO BE REVIEWED, NOT YET COMMITTED TO TRUNK<br>=======================================================================<br><br></div>Change print to print()<br><a href="http://twistedmatrix.com/trac/ticket/5812">http://twistedmatrix.com/trac/ticket/5812</a><br><br></div>Change foo.has_key(bar) to "bar in foo"<br><a href="https://twistedmatrix.com/trac/ticket/8359">https://twistedmatrix.com/trac/ticket/8359</a><br><a href="https://twistedmatrix.com/trac/ticket/8360">https://twistedmatrix.com/trac/ticket/8360</a><br><a href="https://twistedmatrix.com/trac/ticket/8361">https://twistedmatrix.com/trac/ticket/8361</a><br><a href="https://twistedmatrix.com/trac/ticket/8362">https://twistedmatrix.com/trac/ticket/8362</a><br><a href="https://twistedmatrix.com/trac/ticket/8363">https://twistedmatrix.com/trac/ticket/8363</a><br><a href="https://twistedmatrix.com/trac/ticket/8364">https://twistedmatrix.com/trac/ticket/8364</a><br><a href="https://twistedmatrix.com/trac/ticket/8365">https://twistedmatrix.com/trac/ticket/8365</a><br><br></div>Eliminate the use of long literals<br><a href="https://twistedmatrix.com/trac/ticket/8366">https://twistedmatrix.com/trac/ticket/8366</a><br><br></div>Remove use of tuple parameter packing<br><a href="https://twistedmatrix.com/trac/ticket/8346">https://twistedmatrix.com/trac/ticket/8346</a><br><br><br><div><div><div>Adi has reviewed and committed the patches in 1.<br></div><div>However, Adi has mentioned that in this document: <a href="http://twistedmatrix.com/trac/wiki/Plan/Python3">http://twistedmatrix.com/trac/wiki/Plan/Python3</a>,<br></div><div>the strategy of submitting incremental Python3 fixes is not mentioned.<br></div><div>Before doing any further reviews, Adi would like clarification that<br></div><div>these types of reviews/patches are OK for submission and review.<br><br></div><div>Are they OK?  Would it be possible extend the Plan/Python3 document to accept incremental Python3 fixes<br></div><div>as long as:<br><br></div><div> * adheres to Twisted coding standards<br></div><div> * works on Python 2.7<br></div><div> * passes existing tests<br></div><div> * comes with new tests if functionality is changed that is not currently being tested<br><br></div><div>My experience working with Python3 on other projects, is that incremental<br></div><div>fixes is easier to review and get working, rather than an all or nothing approach.<br></div><div>Some Python3 porting such as bytes/string/unicode or Python C API changes are very hard,<br></div><div>while print vs. print() are very easy.  Holding up the easy changes, until every hard change<br></div><div>is also done is quite hard, and slows things down.<br></div><div><br></div><div>--<br></div><div>Craig<br></div><div><br></div></div></div></div>