Propagate the stdin_display_name to checker and processor

This way plugins like flake8-putty can have access to the correct filename.
This commit is contained in:
Leonardo Rochael Almeida 2016-07-20 17:22:49 -03:00
parent b2b4cae8e3
commit 7934f8dce2
5 changed files with 21 additions and 15 deletions

View file

@ -55,12 +55,13 @@ class FileProcessor(object):
:param str filename:
Name of the file to process
"""
self.options = options
self.filename = filename
self.lines = lines
if lines is None:
self.lines = self.read_lines()
# allow for stdin filename substitution
self.filename, self.lines = self.read_lines(filename)
self.strip_utf_bom()
self.options = options
# Defaults for public attributes
#: Number of preceding blank lines
@ -268,13 +269,15 @@ class FileProcessor(object):
self.indent_char = line[0]
return line
def read_lines(self):
def read_lines(self, filename):
# type: () -> List[str]
"""Read the lines for this file checker."""
if self.filename is None or self.filename == '-':
self.filename = 'stdin'
return self.read_lines_from_stdin()
return self.read_lines_from_filename()
if filename is None or filename == '-':
filename = self.options.stdin_display_name or 'stdin'
lines = self.read_lines_from_stdin()
else:
lines = self.read_lines_from_filename()
return (filename, lines)
def _readlines_py2(self):
# type: () -> List[str]