From adf135315989d9962ef6c4a981f3f5bc075bfde6 Mon Sep 17 00:00:00 2001 From: Peter Law Date: Fri, 16 Sep 2022 20:19:55 +0100 Subject: [PATCH] Avoid recomputing the E266 ignored lines each time --- autopep8.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/autopep8.py b/autopep8.py index e5b73c11..8bd9c54c 100755 --- a/autopep8.py +++ b/autopep8.py @@ -834,16 +834,18 @@ def fix_e265(self, result): self.source[result['line'] - 1] = fixed + def _get_e266_ignored_line_numbers(self): + if not hasattr(self, '_e266_ignored_line_numbers'): + source = ''.join(self.source) + self._e266_ignored_line_numbers = set.union( + multiline_string_lines(source, include_docstrings=True), + commented_out_code_lines(source)) + return self._e266_ignored_line_numbers + def fix_e266(self, result): """Fix too many block comment hashes.""" - source = ''.join(self.source) - # TODO: don't recompute this every time! - ignored_line_numbers = multiline_string_lines( - source, - include_docstrings=True) | set(commented_out_code_lines(source)) - - if result['line'] in ignored_line_numbers: + if result['line'] in self._get_e266_ignored_line_numbers(): return # Leave stylistic outlined blocks alone.