mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +00:00
Merged revisions 76518 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r76518 | benjamin.peterson | 2009-11-25 12:34:42 -0600 (Wed, 25 Nov 2009) | 60 lines Merged revisions 76259,76326,76376-76377,76430,76471,76517 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ................ r76259 | georg.brandl | 2009-11-14 05:50:51 -0600 (Sat, 14 Nov 2009) | 1 line Fix terminology. ................ r76326 | georg.brandl | 2009-11-16 10:44:05 -0600 (Mon, 16 Nov 2009) | 1 line #7302: fix link. ................ r76376 | georg.brandl | 2009-11-18 13:39:14 -0600 (Wed, 18 Nov 2009) | 1 line upcase Python ................ r76377 | georg.brandl | 2009-11-18 14:05:15 -0600 (Wed, 18 Nov 2009) | 1 line Fix markup. ................ r76430 | r.david.murray | 2009-11-20 07:29:43 -0600 (Fri, 20 Nov 2009) | 2 lines Issue 7363: fix indentation in socketserver udpserver example. ................ r76471 | georg.brandl | 2009-11-23 13:53:19 -0600 (Mon, 23 Nov 2009) | 1 line #7345: fix arguments of formatyear(). ................ r76517 | benjamin.peterson | 2009-11-25 12:16:46 -0600 (Wed, 25 Nov 2009) | 29 lines Merged revisions 76160-76161,76250,76252,76447,76506 via svnmerge from svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3 ........ r76160 | benjamin.peterson | 2009-11-08 18:53:48 -0600 (Sun, 08 Nov 2009) | 1 line undeprecate the -p option; it's useful for converting python3 sources ........ r76161 | benjamin.peterson | 2009-11-08 19:05:37 -0600 (Sun, 08 Nov 2009) | 1 line simplify condition ........ r76250 | benjamin.peterson | 2009-11-13 16:56:48 -0600 (Fri, 13 Nov 2009) | 1 line fix handling of a utf-8 bom #7313 ........ r76252 | benjamin.peterson | 2009-11-13 16:58:36 -0600 (Fri, 13 Nov 2009) | 1 line remove pdb turd ........ r76447 | benjamin.peterson | 2009-11-22 18:17:40 -0600 (Sun, 22 Nov 2009) | 1 line #7375 fix nested transformations in fix_urllib ........ r76506 | benjamin.peterson | 2009-11-24 18:34:31 -0600 (Tue, 24 Nov 2009) | 1 line use generator expressions in any() ........ ................ ................
This commit is contained in:
parent
2d201f3954
commit
39778f6b6f
15 changed files with 82 additions and 65 deletions
|
@ -18,7 +18,6 @@ import logging
|
|||
import operator
|
||||
import collections
|
||||
import io
|
||||
import warnings
|
||||
from itertools import chain
|
||||
|
||||
# Local imports
|
||||
|
@ -139,26 +138,23 @@ def _detect_future_print(source):
|
|||
if have_docstring:
|
||||
break
|
||||
have_docstring = True
|
||||
elif tp == token.NAME:
|
||||
if value == "from":
|
||||
tp, value = advance()
|
||||
if tp != token.NAME and value != "__future__":
|
||||
break
|
||||
tp, value = advance()
|
||||
if tp != token.NAME and value != "import":
|
||||
break
|
||||
tp, value = advance()
|
||||
if tp == token.OP and value == "(":
|
||||
tp, value = advance()
|
||||
while tp == token.NAME:
|
||||
if value == "print_function":
|
||||
return True
|
||||
tp, value = advance()
|
||||
if tp != token.OP and value != ",":
|
||||
break
|
||||
tp, value = advance()
|
||||
else:
|
||||
elif tp == token.NAME and value == "from":
|
||||
tp, value = advance()
|
||||
if tp != token.NAME and value != "__future__":
|
||||
break
|
||||
tp, value = advance()
|
||||
if tp != token.NAME and value != "import":
|
||||
break
|
||||
tp, value = advance()
|
||||
if tp == token.OP and value == "(":
|
||||
tp, value = advance()
|
||||
while tp == token.NAME:
|
||||
if value == "print_function":
|
||||
return True
|
||||
tp, value = advance()
|
||||
if tp != token.OP and value != ",":
|
||||
break
|
||||
tp, value = advance()
|
||||
else:
|
||||
break
|
||||
except StopIteration:
|
||||
|
@ -172,7 +168,7 @@ class FixerError(Exception):
|
|||
|
||||
class RefactoringTool(object):
|
||||
|
||||
_default_options = {}
|
||||
_default_options = {"print_function" : False}
|
||||
|
||||
CLASS_PREFIX = "Fix" # The prefix for fixer classes
|
||||
FILE_PREFIX = "fix_" # The prefix for modules with a fixer within
|
||||
|
@ -189,15 +185,16 @@ class RefactoringTool(object):
|
|||
self.explicit = explicit or []
|
||||
self.options = self._default_options.copy()
|
||||
if options is not None:
|
||||
if "print_function" in options:
|
||||
warnings.warn("the 'print_function' option is deprecated",
|
||||
DeprecationWarning)
|
||||
self.options.update(options)
|
||||
if self.options["print_function"]:
|
||||
self.grammar = pygram.python_grammar_no_print_statement
|
||||
else:
|
||||
self.grammar = pygram.python_grammar
|
||||
self.errors = []
|
||||
self.logger = logging.getLogger("RefactoringTool")
|
||||
self.fixer_log = []
|
||||
self.wrote = False
|
||||
self.driver = driver.Driver(pygram.python_grammar,
|
||||
self.driver = driver.Driver(self.grammar,
|
||||
convert=pytree.convert,
|
||||
logger=self.logger)
|
||||
self.pre_order, self.post_order = self.get_fixers()
|
||||
|
@ -353,7 +350,7 @@ class RefactoringTool(object):
|
|||
name, err.__class__.__name__, err)
|
||||
return
|
||||
finally:
|
||||
self.driver.grammar = pygram.python_grammar
|
||||
self.driver.grammar = self.grammar
|
||||
self.log_debug("Refactoring %s", name)
|
||||
self.refactor_tree(tree, name)
|
||||
return tree
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue