from pychecker import Warning
warnings = []
class WarningWx(Warning.Warning) :
""" Warning redirector """
def output(self, stream=None) :
warnings.append(`(self.file, self.line, self.err)`)
Warning.Warning = WarningWx
import sys
class NullFile :
""" Output eater """
def write(self, s) : sys.__stdout__.write(s)
def flush(self): sys.__stdout__.flush()
sys.stderr = NullFile()
from pychecker import checker,Config
##import wxPythonNamespace
##_WXPYTHON_NAMESPACE = wxPythonNamespace.__dict__.keys()
##checker._DEFAULT_MODULE_TOKENS = list(checker._DEFAULT_MODULE_TOKENS)+ _WXPYTHON_NAMESPACE
if __name__ == '__main__' :
try :
exitcode = checker.main(sys.argv)
sys.stderr = sys.__stderr__
for warning in warnings:
sys.stderr.write(warning+'\n')
sys.exit(exitcode)
except Config.UsageError :
sys.exit(127)
|