◐ Shell
clean mode source ↗

bpo-39683: 2to3 fix_exitfunc suggests duplicated import of atexit module by phsilva · Pull Request #18654 · python/cpython

Expand Up @@ -5,7 +5,7 @@ # Author: Benjamin Peterson
from lib2to3 import pytree, fixer_base from lib2to3.fixer_util import Name, Attr, Call, Comma, Newline, syms from lib2to3.fixer_util import Name, Attr, Call, Comma, Newline, syms, does_tree_import

class FixExitfunc(fixer_base.BaseFix): Expand Down Expand Up @@ -55,6 +55,10 @@ def transform(self, node, results): "import at the top of your file.") return
# Do not add import if already present (multiple sys.atexit's) if does_tree_import(None, "atexit", self.sys_import.parent): return
# Now add an atexit import after the sys import. names = self.sys_import.children[1] if names.type == syms.dotted_as_names: Expand All @@ -63,7 +67,6 @@ def transform(self, node, results): else: containing_stmt = self.sys_import.parent position = containing_stmt.children.index(self.sys_import) stmt_container = containing_stmt.parent new_import = pytree.Node(syms.import_name, [Name("import"), Name("atexit", " ")] ) Expand Down