And the warnings have already been added to pychecker.
I knew I could count on you. :-)
I know I'm going to wish I never said this, but ... If you find REAL problems with code that breaks, let me know. I will try to address problems that may arise.
This code: True = 1 False = 0
I wonder if you should add warnings for *any* spelling, or at least also for true and TRUE, if assigned the constant 1 (and similar for false/FALSE), on the basis that these are probably other ways to spell the same thing. E.g. I've seen FALSE, TRUE = range(2)
def test(a): if a is True: print 'True'
But 'is True' can be a useful test. The newbies we're trying to catch in verboten activities are using ==.
if a == False: print 'False'
generates these warnings: test.py:2: Should not assign to True, it is (or will be) a builtin test.py:3: Should not assign to False, it is (or will be) a builtin test.py:6: Comparisions with True are not necessary test.py:7: Comparisions with False are not necessary
Cool. --Guido van Rossum (home page: http://www.python.org/~guido/)