comparison env/lib/python3.7/site-packages/libfuturize/fixes/fix_execfile.py @ 2:6af9afd405e9 draft

"planemo upload commit 0a63dd5f4d38a1f6944587f52a8cd79874177fc1"
author shellac
date Thu, 14 May 2020 14:56:58 -0400
parents 26e78fe6e8c4
children
comparison
equal deleted inserted replaced
1:75ca89e9b81c 2:6af9afd405e9
1 # coding: utf-8
2 """
3 Fixer for the execfile() function on Py2, which was removed in Py3.
4
5 The Lib/lib2to3/fixes/fix_execfile.py module has some problems: see
6 python-future issue #37. This fixer merely imports execfile() from
7 past.builtins and leaves the code alone.
8
9 Adds this import line::
10
11 from past.builtins import execfile
12
13 for the function execfile() that was removed from Py3.
14 """
15
16 from __future__ import unicode_literals
17 from lib2to3 import fixer_base
18
19 from libfuturize.fixer_util import touch_import_top
20
21
22 expression = "name='execfile'"
23
24
25 class FixExecfile(fixer_base.BaseFix):
26 BM_compatible = True
27 run_order = 9
28
29 PATTERN = """
30 power<
31 ({0}) trailer< '(' args=[any] ')' >
32 rest=any* >
33 """.format(expression)
34
35 def transform(self, node, results):
36 name = results["name"]
37 touch_import_top(u'past.builtins', name.value, node)