(original) (raw)
On Sat Jun 07 2014 at 9:11:54 AM, Claudiu Popa <pcmanticore@gmail.com> wrote:
On Fri, Jun 6, 2014 at 7:37 PM, Brett Cannon <bcannon@gmail.com> wrote:
> After Glyph and Alex's email about their asks for assisting in writing
> Python 2/3 code, it got me thinking about where in the toolchain various
> warnings and such should go in order to help direct energy to help develop
> whatever future toolchain to assist in porting.
>
> There seems to be three places where issues are/can be caught once a project
> has embarked down the road of 2/3 source compatibility:
>
> -3 warnings
> Some linter tool
Pylint could help here. We already have a couple of checks which
addresses the issue of porting between Python 2 and 3, checks like:
raising-string
old-style-class
slots-on-old-class
super-on-old-class
old-raise-syntax
old-ne-operator
lowercase-l-suffix
backtick
unpacking-in-except
indexing-exception
property-on-old-class
There was an idea on Pylint's bugtracker to implement a plugin for
Python 2, with warnings dedicated to porting and this solution seems
easier than the alternatives.
Yes, pylint is definitely an option. I have not looked at how hard it would be to write the rules, though, and how easy it would be to run with just those rules (if I remember correctly pylint can take a config, but I have not run it manually in a while).
Having something which walked the 2.7 CST or AST wouldn't be difficult to write either, so it's just a matter of balance of work required.