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 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__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. |
u""" Fixer for (metaclass=X) -> __metaclass__ = X Some semantics (see PEP 3115) may be altered in the translation.""" from lib2to3 import fixer_base from lib2to3.fixer_util import Name, syms, Node, Leaf, Newline, find_root from lib2to3.pygram import token from libfuturize.fixer_util import indentation, suitify # from ..fixer_util import Name, syms, Node, Leaf, Newline, find_root, indentation, suitify def has_metaclass(parent): results = None for node in parent.children: kids = node.children if node.type == syms.argument: if kids[0] == Leaf(token.NAME, u"metaclass") and \ kids[1] == Leaf(token.EQUAL, u"=") and \ kids[2]: #Hack to avoid "class X(=):" with this case. results = [node] + kids break elif node.type == syms.arglist: # Argument list... loop through it looking for: # Node(*, [*, Leaf(token.NAME, u"metaclass"), Leaf(token.EQUAL, u"="), Leaf(*, *)] for child in node.children: if results: break if child.type == token.COMMA: #Store the last comma, which precedes the metaclass comma = child elif type(child) == Node: meta = equal = name = None for arg in child.children: if arg == Leaf(token.NAME, u"metaclass"): #We have the (metaclass) part meta = arg elif meta and arg == Leaf(token.EQUAL, u"="): #We have the (metaclass=) part equal = arg elif meta and equal: #Here we go, we have (metaclass=X) name = arg results = (comma, meta, equal, name) break return results class FixMetaclass(fixer_base.BaseFix): PATTERN = u""" classdef<any*> """ def transform(self, node, results): meta_results = has_metaclass(node) if not meta_results: return for meta in meta_results: meta.remove() target = Leaf(token.NAME, u"__metaclass__") equal = Leaf(token.EQUAL, u"=", prefix=u" ") # meta is the last item in what was returned by has_metaclass(): name name = meta name.prefix = u" " stmt_node = Node(syms.atom, [target, equal, name]) suitify(node) for item in node.children: if item.type == syms.suite: for stmt in item.children: if stmt.type == token.INDENT: # Insert, in reverse order, the statement, a newline, # and an indent right after the first indented line loc = item.children.index(stmt) + 1 # Keep consistent indentation form ident = Leaf(token.INDENT, stmt.value) item.insert_child(loc, ident) item.insert_child(loc, Newline()) item.insert_child(loc, stmt_node) break
SILENT KILLER Tool