OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
libfuturize
/
fixes
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/16/2024 08:51:37 PM
rwxr-xr-x
📄
__init__.py
5.02 KB
10/25/2018 10:21:01 PM
rw-r--r--
📁
__pycache__
-
02/16/2024 08:51:37 PM
rwxr-xr-x
📄
fix_UserDict.py
3.75 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_absolute_import.py
3.07 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_add__future__imports_except_unicode_literals.py
662 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_basestring.py
394 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_bytes.py
685 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_cmp.py
701 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_division.py
228 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_division_safe.py
3.38 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_execfile.py
921 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_future_builtins.py
1.98 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_future_standard_library.py
733 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_future_standard_library_urllib.py
1001 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_metaclass.py
9.34 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_next_call.py
3.08 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_object.py
407 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_oldstr_wrap.py
1.19 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_order___future__imports.py
829 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_print.py
3.3 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_print_with_import.py
735 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_raise.py
2.12 KB
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_remove_old__future__imports.py
851 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_unicode_keep_u.py
779 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_unicode_literals_import.py
367 bytes
10/25/2018 10:21:01 PM
rw-r--r--
📄
fix_xrange_with_import.py
479 bytes
10/25/2018 10:21:01 PM
rw-r--r--
Editing: fix_future_builtins.py
Close
""" 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))