diff options
| author | Leonardo Rochael Almeida <leorochael@gmail.com> | 2016-07-20 17:22:49 -0300 |
|---|---|---|
| committer | Leonardo Rochael Almeida <leorochael@gmail.com> | 2016-07-20 18:45:01 -0300 |
| commit | 7934f8dce2fc1c5d8da374a3c7435d36f9526b0b (patch) | |
| tree | 65be71e2def5f9f5b07e697e10c2ae0080224964 /src | |
| parent | b2b4cae8e3ef27b8545a8d98a35dc7b07b1b132f (diff) | |
| download | flake8-7934f8dce2fc1c5d8da374a3c7435d36f9526b0b.tar.gz | |
Propagate the stdin_display_name to checker and processor
This way plugins like flake8-putty can have access to the correct filename.
Diffstat (limited to 'src')
| -rw-r--r-- | src/flake8/checker.py | 8 | ||||
| -rw-r--r-- | src/flake8/main/options.py | 2 | ||||
| -rw-r--r-- | src/flake8/processor.py | 17 | ||||
| -rw-r--r-- | src/flake8/style_guide.py | 2 |
4 files changed, 15 insertions, 14 deletions
diff --git a/src/flake8/checker.py b/src/flake8/checker.py index d5132ff..7c70ace 100644 --- a/src/flake8/checker.py +++ b/src/flake8/checker.py @@ -398,20 +398,20 @@ class FileChecker(object): :type style_guide: flake8.style_guide.StyleGuide """ - self.filename = filename self.checks = checks self.style_guide = style_guide self.results = [] - self.processor = self._make_processor() + self.processor = self._make_processor(filename) + self.filename = self.processor.filename self.statistics = { 'tokens': 0, 'logical lines': 0, 'physical lines': len(self.processor.lines), } - def _make_processor(self): + def _make_processor(self, filename): try: - return processor.FileProcessor(self.filename, + return processor.FileProcessor(filename, self.style_guide.options) except IOError: # If we can not read the file due to an IOError (e.g., the file diff --git a/src/flake8/main/options.py b/src/flake8/main/options.py index c725c38..dbfdf9b 100644 --- a/src/flake8/main/options.py +++ b/src/flake8/main/options.py @@ -74,7 +74,7 @@ def register_default_options(option_manager): ) add_option( - '--stdin-display-name', default='stdin', + '--stdin-display-name', help='The name used when reporting errors from code passed via stdin.' ' This is useful for editors piping the file contents to flake8.' ' (Default: %default)', diff --git a/src/flake8/processor.py b/src/flake8/processor.py index 76c5512..ae82b50 100644 --- a/src/flake8/processor.py +++ b/src/flake8/processor.py @@ -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] diff --git a/src/flake8/style_guide.py b/src/flake8/style_guide.py index ed1b844..284444d 100644 --- a/src/flake8/style_guide.py +++ b/src/flake8/style_guide.py @@ -260,8 +260,6 @@ class StyleGuide(object): """ error = Error(code, filename, line_number, column_number, text, physical_line) - if error.filename is None or error.filename == '-': - error = error._replace(filename=self.options.stdin_display_name) error_is_selected = (self.should_report_error(error.code) is Decision.Selected) is_not_inline_ignored = self.is_inline_ignored(error) is False |
