/opt/imh-python/lib/python3.9/site-packages/libfuturize/fixes
NameSizeModeActions
__pycache__/-0755rm
fix_absolute_import.py31400644editdlrm
fix_add__future__imports_except_unicode_literals.py6620644editdlrm
fix_basestring.py3940644editdlrm
fix_bytes.py6850644editdlrm
fix_cmp.py7010644editdlrm
fix_division.py2280644editdlrm
fix_division_safe.py36310644editdlrm
fix_execfile.py9210644editdlrm
fix_future_builtins.py20270644editdlrm
fix_future_standard_library.py7330644editdlrm
fix_future_standard_library_urllib.py10010644editdlrm
fix_input.py6870644editdlrm
fix_metaclass.py95700644editdlrm
fix_next_call.py31580644editdlrm
fix_object.py4070644editdlrm
fix_oldstr_wrap.py12140644editdlrm
fix_order___future__imports.py8290644editdlrm
fix_print.py38810644editdlrm
fix_print_with_import.py7350644editdlrm
fix_raise.py39040644editdlrm
fix_remove_old__future__imports.py8510644editdlrm
fix_unicode_keep_u.py7790644editdlrm
fix_unicode_literals_import.py3670644editdlrm
fix_UserDict.py38400644editdlrm
fix_xrange_with_import.py4790644editdlrm
__init__.py52360644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/libfuturize/fixes/fix_future_builtins.py (2027B)
""" For the ``future`` package. Adds this import line:: from builtins import XYZ for each of the functions XYZ that is used in the module. Adds these imports after any other imports (in an initial block of them). """ from __future__ import unicode_literals from lib2to3 import fixer_base from lib2to3.pygram import python_symbols as syms from lib2to3.fixer_util import Name, Call, in_special_context from libfuturize.fixer_util import touch_import_top # All builtins are: # from future.builtins.iterators import (filter, map, zip) # from future.builtins.misc import (ascii, chr, hex, input, isinstance, oct, open, round, super) # from future.types import (bytes, dict, int, range, str) # We don't need isinstance any more. replaced_builtin_fns = '''filter map zip ascii chr hex input next oct bytes range str raw_input'''.split() # This includes raw_input as a workaround for the # lib2to3 fixer for raw_input on Py3 (only), allowing # the correct import to be included. (Py3 seems to run # the fixers the wrong way around, perhaps ignoring the # run_order class attribute below ...) expression = '|'.join(["name='{0}'".format(name) for name in replaced_builtin_fns]) class FixFutureBuiltins(fixer_base.BaseFix): BM_compatible = True run_order = 7 # Currently we only match uses as a function. This doesn't match e.g.: # if isinstance(s, str): # ... PATTERN = """ power< ({0}) trailer< '(' [arglist=any] ')' > rest=any* > | power< 'map' trailer< '(' [arglist=any] ')' > > """.format(expression) def transform(self, node, results): name = results["name"] touch_import_top(u'builtins', name.value, node) # name.replace(Name(u"input", prefix=name.prefix))