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