mirror of
https://fuchsia.googlesource.com/third_party/github.com/pylint-dev/pylint
synced 2024-09-20 23:51:39 +00:00
601b10abfa
Fix following error when using this plugin ``` with module.stream() as stream: NameError: global name 'module' is not defined ```
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
from pylint.interfaces import IRawChecker
|
|
from pylint.checkers import BaseChecker
|
|
|
|
class MyRawChecker(BaseChecker):
|
|
"""check for line continuations with '\' instead of using triple
|
|
quoted string or parenthesis
|
|
"""
|
|
|
|
__implements__ = IRawChecker
|
|
|
|
name = 'custom_raw'
|
|
msgs = {'W9901': ('use \\ for line continuation',
|
|
'backslash-line-continuation',
|
|
('Used when a \\ is used for a line continuation instead'
|
|
' of using triple quoted string or parenthesis.')),
|
|
}
|
|
options = ()
|
|
|
|
def process_module(self, node):
|
|
"""process a module
|
|
|
|
the module's content is accessible via node.stream() function
|
|
"""
|
|
with node.stream() as stream:
|
|
for (lineno, line) in enumerate(stream):
|
|
if line.rstrip().endswith('\\'):
|
|
self.add_message('backslash-line-continuation',
|
|
line=lineno)
|
|
|
|
|
|
def register(linter):
|
|
"""required method to auto register this checker"""
|
|
linter.register_checker(MyRawChecker(linter))
|
|
|