SILENT KILLERPanel

Current Path: > > opt > cloudlinux > venv > lib > python3.11 > site-packages > libfuturize > fixes


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: //opt/cloudlinux/venv/lib/python3.11/site-packages/libfuturize/fixes

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
__init__.py File 5236 bytes April 17 2025 13:10:59.
fix_UserDict.py File 3840 bytes April 17 2025 13:10:59.
fix_absolute_import.py File 3140 bytes April 17 2025 13:10:59.
fix_add__future__imports_except_unicode_literals.py File 662 bytes April 17 2025 13:10:59.
fix_basestring.py File 394 bytes April 17 2025 13:10:59.
fix_bytes.py File 685 bytes April 17 2025 13:10:59.
fix_cmp.py File 701 bytes April 17 2025 13:10:59.
fix_division.py File 228 bytes April 17 2025 13:10:59.
fix_division_safe.py File 3631 bytes April 17 2025 13:10:59.
fix_execfile.py File 921 bytes April 17 2025 13:10:59.
fix_future_builtins.py File 2027 bytes April 17 2025 13:10:59.
fix_future_standard_library.py File 733 bytes April 17 2025 13:10:59.
fix_future_standard_library_urllib.py File 1001 bytes April 17 2025 13:10:59.
fix_input.py File 687 bytes April 17 2025 13:10:59.
fix_metaclass.py File 9568 bytes April 17 2025 13:10:59.
fix_next_call.py File 3158 bytes April 17 2025 13:10:59.
fix_object.py File 407 bytes April 17 2025 13:10:59.
fix_oldstr_wrap.py File 1214 bytes April 17 2025 13:10:59.
fix_order___future__imports.py File 829 bytes April 17 2025 13:10:59.
fix_print.py File 3881 bytes April 17 2025 13:10:59.
fix_print_with_import.py File 735 bytes April 17 2025 13:10:59.
fix_raise.py File 3904 bytes April 17 2025 13:10:59.
fix_remove_old__future__imports.py File 851 bytes April 17 2025 13:10:59.
fix_unicode_keep_u.py File 779 bytes April 17 2025 13:10:59.
fix_unicode_literals_import.py File 367 bytes April 17 2025 13:10:59.
fix_xrange_with_import.py File 479 bytes April 17 2025 13:10:59.

Reading File: //opt/cloudlinux/venv/lib/python3.11/site-packages/libfuturize/fixes/fix_future_builtins.py

"""
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))

SILENT KILLER Tool