diff options
author | Florent Xicluna <florent.xicluna@gmail.com> | 2014-03-29 19:04:45 +0100 |
---|---|---|
committer | Florent Xicluna <florent.xicluna@gmail.com> | 2014-03-29 19:04:45 +0100 |
commit | f9a826f146c5b68af7ecb1a5f86da6f7e2510f4f (patch) | |
tree | 4d7bef184c77dfa2b8b83bb85c18922bf21d7a26 | |
parent | ffe926c282bf78737f8c34dff111ccbdab6c837b (diff) | |
download | pyflakes-f9a826f146c5b68af7ecb1a5f86da6f7e2510f4f.tar.gz |
Refactor method handleDoctests
-rw-r--r-- | pyflakes/checker.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/pyflakes/checker.py b/pyflakes/checker.py index 91661d4..932c125 100644 --- a/pyflakes/checker.py +++ b/pyflakes/checker.py @@ -559,16 +559,19 @@ class Checker(object): def handleDoctests(self, node): try: - docstring, node_lineno = self.getDocstring(node.body[0]) - if not docstring: - return - examples = self._getDoctestExamples(docstring) + (docstring, node_lineno) = self.getDocstring(node.body[0]) + examples = docstring and self._getDoctestExamples(docstring) except (ValueError, IndexError): # e.g. line 6 of the docstring for <string> has inconsistent # leading whitespace: ... return + if not examples: + return node_offset = self.offset or (0, 0) self.pushScope() + underscore_in_builtins = '_' in self.builtIns + if not underscore_in_builtins: + self.builtIns.add('_') for example in examples: try: tree = compile(example.source, "<doctest>", "exec", ast.PyCF_ONLY_AST) @@ -580,13 +583,10 @@ class Checker(object): else: self.offset = (node_offset[0] + node_lineno + example.lineno, node_offset[1] + example.indent + 4) - underscore_in_builtins = '_' in self.builtIns - if not underscore_in_builtins: - self.builtIns.add('_') self.handleChildren(tree) - if not underscore_in_builtins: - self.builtIns.remove('_') self.offset = node_offset + if not underscore_in_builtins: + self.builtIns.remove('_') self.popScope() def ignore(self, node): |