From fb786929748b1fe80f57bead0b783a27c2a26cda Mon Sep 17 00:00:00 2001 From: tst Date: Mon, 16 Jul 2018 13:20:30 +0200 Subject: [PATCH] fixed undefined variable children_hooks + imports cleanup --- src/libfuturize/fixer_util.py | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/libfuturize/fixer_util.py b/src/libfuturize/fixer_util.py index ce1e9753..afc22510 100644 --- a/src/libfuturize/fixer_util.py +++ b/src/libfuturize/fixer_util.py @@ -9,11 +9,11 @@ """ from lib2to3.fixer_util import (FromImport, Newline, is_import, - find_root, does_tree_import, Comma) + find_root, does_tree_import, + Call, Name, Comma) from lib2to3.pytree import Leaf, Node -from lib2to3.pygram import python_symbols as syms, python_grammar +from lib2to3.pygram import python_symbols as syms from lib2to3.pygram import token -from lib2to3.fixer_util import (Node, Call, Name, syms, Comma, Number) import re @@ -62,7 +62,7 @@ def Minus(prefix=None): def commatize(leafs): """ - Accepts/turns: (Name, Name, ..., Name, Name) + Accepts/turns: (Name, Name, ..., Name, Name) Returns/into: (Name, Comma, Name, Comma, ..., Name, Comma, Name) """ new_leafs = [] @@ -272,7 +272,7 @@ def future_import2(feature, node): An alternative to future_import() which might not work ... """ root = find_root(node) - + if does_tree_import(u"__future__", feature, node): return @@ -304,7 +304,7 @@ def parse_args(arglist, scheme): Parse a list of arguments into a dict """ arglist = [i for i in arglist if i.type != token.COMMA] - + ret_mapping = dict([(k, None) for k in scheme]) for i, arg in enumerate(arglist): @@ -338,7 +338,7 @@ def touch_import_top(package, name_to_import, node): Based on lib2to3.fixer_util.touch_import() Calling this multiple times adds the imports in reverse order. - + Also adds "standard_library.install_aliases()" after "from future import standard_library". This should probably be factored into another function. """ @@ -390,6 +390,7 @@ def touch_import_top(package, name_to_import, node): break insert_pos = idx + children_hooks = [] if package is None: import_ = Node(syms.import_name, [ Leaf(token.NAME, u"import"), @@ -413,9 +414,7 @@ def touch_import_top(package, name_to_import, node): ] ) children_hooks = [install_hooks, Newline()] - else: - children_hooks = [] - + # FromImport(package, [Leaf(token.NAME, name_to_import, prefix=u" ")]) children_import = [import_, Newline()] @@ -445,7 +444,6 @@ def check_future_import(node): return set() node = node.children[3] # now node is the import_as_name[s] - # print(python_grammar.number2symbol[node.type]) # breaks sometimes if node.type == syms.import_as_names: result = set() for n in node.children: