SILENT KILLERPanel

Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > > site-packages > libpasteurize > 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/lib64/python3.11//site-packages/libpasteurize/fixes

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
__init__.py File 3719 bytes April 17 2025 13:10:59.
feature_base.py File 1723 bytes April 17 2025 13:10:59.
fix_add_all__future__imports.py File 676 bytes April 17 2025 13:10:59.
fix_add_all_future_builtins.py File 1269 bytes April 17 2025 13:10:59.
fix_add_future_standard_library_import.py File 663 bytes April 17 2025 13:10:59.
fix_annotations.py File 1581 bytes April 17 2025 13:10:59.
fix_division.py File 904 bytes April 17 2025 13:10:59.
fix_features.py File 2675 bytes April 17 2025 13:10:59.
fix_fullargspec.py File 438 bytes April 17 2025 13:10:59.
fix_future_builtins.py File 1450 bytes April 17 2025 13:10:59.
fix_getcwd.py File 873 bytes April 17 2025 13:10:59.
fix_imports.py File 4944 bytes April 17 2025 13:10:59.
fix_imports2.py File 8580 bytes April 17 2025 13:10:59.
fix_kwargs.py File 5991 bytes April 17 2025 13:10:59.
fix_memoryview.py File 551 bytes April 17 2025 13:10:59.
fix_metaclass.py File 3260 bytes April 17 2025 13:10:59.
fix_newstyle.py File 888 bytes April 17 2025 13:10:59.
fix_next.py File 1233 bytes April 17 2025 13:10:59.
fix_printfunction.py File 401 bytes April 17 2025 13:10:59.
fix_raise.py File 1099 bytes April 17 2025 13:10:59.
fix_raise_.py File 1225 bytes April 17 2025 13:10:59.
fix_throw.py File 835 bytes April 17 2025 13:10:59.
fix_unpacking.py File 5946 bytes April 17 2025 13:10:59.

Reading File: //opt/cloudlinux/venv/lib64/python3.11//site-packages/libpasteurize/fixes/fix_features.py

u"""
Warn about features that are not present in Python 2.5, giving a message that
points to the earliest version of Python 2.x (or 3.x, if none) that supports it
"""

from .feature_base import Feature, Features
from lib2to3 import fixer_base

FEATURES = [
   #(FeatureName,
   #    FeaturePattern,
   # FeatureMinVersion,
   #),
    (u"memoryview",
        u"power < 'memoryview' trailer < '(' any* ')' > any* >",
     u"2.7",
    ),
    (u"numbers",
        u"""import_from< 'from' 'numbers' 'import' any* > |
           import_name< 'import' ('numbers' dotted_as_names< any* 'numbers' any* >) >""",
     u"2.6",
    ),
    (u"abc",
        u"""import_name< 'import' ('abc' dotted_as_names< any* 'abc' any* >) > |
           import_from< 'from' 'abc' 'import' any* >""",
     u"2.6",
    ),
    (u"io",
        u"""import_name< 'import' ('io' dotted_as_names< any* 'io' any* >) > |
           import_from< 'from' 'io' 'import' any* >""",
     u"2.6",
    ),
    (u"bin",
        u"power< 'bin' trailer< '(' any* ')' > any* >",
     u"2.6",
    ),
    (u"formatting",
        u"power< any trailer< '.' 'format' > trailer< '(' any* ')' > >",
     u"2.6",
    ),
    (u"nonlocal",
        u"global_stmt< 'nonlocal' any* >",
     u"3.0",
    ),
    (u"with_traceback",
        u"trailer< '.' 'with_traceback' >",
     u"3.0",
    ),
]

class FixFeatures(fixer_base.BaseFix):

    run_order = 9 # Wait until all other fixers have run to check for these

    # To avoid spamming, we only want to warn for each feature once.
    features_warned = set()

    # Build features from the list above
    features = Features([Feature(name, pattern, version) for \
                                name, pattern, version in FEATURES])

    PATTERN = features.PATTERN

    def match(self, node):
        to_ret = super(FixFeatures, self).match(node)
        # We want the mapping only to tell us the node's specific information.
        try:
            del to_ret[u'node']
        except Exception:
            # We want it to delete the 'node' from the results
            # if it's there, so we don't care if it fails for normal reasons.
            pass
        return to_ret

    def transform(self, node, results):
        for feature_name in results:
            if feature_name in self.features_warned:
                continue
            else:
                curr_feature = self.features[feature_name]
                if curr_feature.version >= u"3":
                    fail = self.cannot_convert
                else:
                    fail = self.warning
                fail(node, reason=curr_feature.message_text())
                self.features_warned.add(feature_name)

SILENT KILLER Tool