Slide 9
Slide 9 text
PyLint example
class DFUChecker(BaseChecker):!
!
__implements__ = IAstroidChecker!
!
name = 'dont-fudge-up'!
msgs = {!
'W4201': ('print at %s:%d', 'print', 'you left a print in your code'),!
'W4202': ('pdb imported %s:%d', 'import-pdb', 'pdb imported, probably not nee
'F4203': ('import debug at %s:%d', 'import-debug', 'import debug will be fata
'F4204': ('pdb.set_trace at %s:%d', 'pdb-set_trace', 'pdb.set_trace will be f
}!
!
# this is important so that your checker is executed before others!
priority = -1!
!
def visit_print(self, node):!
self.add_message('W4201', node=node, args=snip)!
!
def visit_callfunc(self, node):!
if node.as_string() == 'pdb.set_trace()':!
self.add_message('F4204', node=node, args=snip)!
!
def visit_import(self, node):!
if node.as_string() == 'import pdb':!
self.add_message('W4202', node=node, args=snip)!
elif node.as_string() == 'import debug':!
self.add_message('F4203', node=node, args=snip)!