mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
Merged revisions 67183,67191,67371 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3 ........ r67183 | benjamin.peterson | 2008-11-11 04:51:33 +0100 (Di, 11 Nov 2008) | 1 line handle 'import x as y' in fix_imports; this still needs more work... ........ r67191 | benjamin.peterson | 2008-11-12 00:24:51 +0100 (Mi, 12 Nov 2008) | 1 line super() is good ........ r67371 | benjamin.peterson | 2008-11-24 23:02:00 +0100 (Mo, 24 Nov 2008) | 1 line don't blow up in the metaclass fixer when assignments in the class statement aren't simple ........
This commit is contained in:
parent
2b5d6ebfe5
commit
64903f9ed9
3 changed files with 31 additions and 9 deletions
|
@ -13,7 +13,7 @@ Becomes:
|
|||
# Local imports
|
||||
from .. import fixer_base
|
||||
from os.path import dirname, join, exists, pathsep
|
||||
from ..fixer_util import FromImport
|
||||
from ..fixer_util import FromImport, syms
|
||||
|
||||
class FixImport(fixer_base.BaseFix):
|
||||
|
||||
|
@ -26,11 +26,14 @@ class FixImport(fixer_base.BaseFix):
|
|||
def transform(self, node, results):
|
||||
imp = results['imp']
|
||||
|
||||
mod_name = str(imp.children[0] if imp.type == syms.dotted_as_name \
|
||||
else imp)
|
||||
|
||||
if str(imp).startswith('.'):
|
||||
# Already a new-style import
|
||||
return
|
||||
|
||||
if not probably_a_local_import(str(imp), self.filename):
|
||||
if not probably_a_local_import(str(mod_name), self.filename):
|
||||
# I guess this is a global import -- skip it!
|
||||
return
|
||||
|
||||
|
|
|
@ -110,8 +110,11 @@ def find_metas(cls_node):
|
|||
if simple_node.type == syms.simple_stmt and simple_node.children:
|
||||
expr_node = simple_node.children[0]
|
||||
if expr_node.type == syms.expr_stmt and expr_node.children:
|
||||
leaf_node = expr_node.children[0]
|
||||
if leaf_node.value == '__metaclass__':
|
||||
# Check if the expr_node is a simple assignment.
|
||||
left_node = expr_node.children[0]
|
||||
if isinstance(left_node, Leaf) and \
|
||||
left_node.value == '__metaclass__':
|
||||
# We found a assignment to __metaclass__.
|
||||
fixup_simple_stmt(node, i, simple_node)
|
||||
remove_trailing_newline(simple_node)
|
||||
yield (node, i, simple_node)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue