second commit
This commit is contained in:
37
env/lib/python3.11/site-packages/libfuturize/fixes/fix_execfile.py
vendored
Normal file
37
env/lib/python3.11/site-packages/libfuturize/fixes/fix_execfile.py
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
# coding: utf-8
|
||||
"""
|
||||
Fixer for the execfile() function on Py2, which was removed in Py3.
|
||||
|
||||
The Lib/lib2to3/fixes/fix_execfile.py module has some problems: see
|
||||
python-future issue #37. This fixer merely imports execfile() from
|
||||
past.builtins and leaves the code alone.
|
||||
|
||||
Adds this import line::
|
||||
|
||||
from past.builtins import execfile
|
||||
|
||||
for the function execfile() that was removed from Py3.
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
from lib2to3 import fixer_base
|
||||
|
||||
from libfuturize.fixer_util import touch_import_top
|
||||
|
||||
|
||||
expression = "name='execfile'"
|
||||
|
||||
|
||||
class FixExecfile(fixer_base.BaseFix):
|
||||
BM_compatible = True
|
||||
run_order = 9
|
||||
|
||||
PATTERN = """
|
||||
power<
|
||||
({0}) trailer< '(' args=[any] ')' >
|
||||
rest=any* >
|
||||
""".format(expression)
|
||||
|
||||
def transform(self, node, results):
|
||||
name = results["name"]
|
||||
touch_import_top(u'past.builtins', name.value, node)
|
Reference in New Issue
Block a user