[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
lib64
/
python3.6
/
lib2to3
/
fixes
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📁 __pycache__
SET
[ DEL ]
📄 __init__.py
47 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_apply.py
2,430 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_asserts.py
984 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_basestring.py
320 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_buffer.py
590 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_dict.py
3,760 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_except.py
3,344 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_exec.py
979 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_execfile.py
2,048 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_exitfunc.py
2,495 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_filter.py
2,651 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_funcattrs.py
644 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_future.py
547 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_getcwdu.py
451 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_has_key.py
3,196 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_idioms.py
4,876 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_import.py
3,256 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_imports.py
5,684 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_imports2.py
289 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_input.py
708 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_intern.py
1,235 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_isinstance.py
1,608 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_itertools.py
1,548 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_itertools_imports.py
2,086 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_long.py
476 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_map.py
3,640 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_metaclass.py
8,197 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_methodattrs.py
606 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_ne.py
571 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_next.py
3,174 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_nonzero.py
591 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_numliterals.py
768 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_operator.py
3,471 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_paren.py
1,227 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_print.py
2,844 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_raise.py
2,926 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_raw_input.py
454 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_reduce.py
837 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_reload.py
1,154 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_renames.py
2,221 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_repr.py
613 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_set_literal.py
1,697 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_standarderror.py
449 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_sys_exc.py
1,034 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_throw.py
1,582 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_tuple_params.py
5,565 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_types.py
1,774 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_unicode.py
1,256 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_urllib.py
8,353 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_ws_comma.py
1,090 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_xrange.py
2,694 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_xreadlines.py
689 B
SET
[ EDIT ]
|
[ DEL ]
📄 fix_zip.py
1,289 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: fix_next.py
"""Fixer for it.next() -> next(it), per PEP 3114.""" # Author: Collin Winter # Things that currently aren't covered: # - listcomp "next" names aren't warned # - "with" statement targets aren't checked # Local imports from ..pgen2 import token from ..pygram import python_symbols as syms from .. import fixer_base from ..fixer_util import Name, Call, find_binding bind_warning = "Calls to builtin next() possibly shadowed by global binding" class FixNext(fixer_base.BaseFix): BM_compatible = True PATTERN = """ power< base=any+ trailer< '.' attr='next' > trailer< '(' ')' > > | power< head=any+ trailer< '.' attr='next' > not trailer< '(' ')' > > | classdef< 'class' any+ ':' suite< any* funcdef< 'def' name='next' parameters< '(' NAME ')' > any+ > any* > > | global=global_stmt< 'global' any* 'next' any* > """ order = "pre" # Pre-order tree traversal def start_tree(self, tree, filename): super(FixNext, self).start_tree(tree, filename) n = find_binding('next', tree) if n: self.warning(n, bind_warning) self.shadowed_next = True else: self.shadowed_next = False def transform(self, node, results): assert results base = results.get("base") attr = results.get("attr") name = results.get("name") if base: if self.shadowed_next: attr.replace(Name("__next__", prefix=attr.prefix)) else: base = [n.clone() for n in base] base[0].prefix = "" node.replace(Call(Name("next", prefix=node.prefix), base)) elif name: n = Name("__next__", prefix=name.prefix) name.replace(n) elif attr: # We don't do this transformation if we're assigning to "x.next". # Unfortunately, it doesn't seem possible to do this in PATTERN, # so it's being done here. if is_assign_target(node): head = results["head"] if "".join([str(n) for n in head]).strip() == '__builtin__': self.warning(node, bind_warning) return attr.replace(Name("__next__")) elif "global" in results: self.warning(node, bind_warning) self.shadowed_next = True ### The following functions help test if node is part of an assignment ### target. def is_assign_target(node): assign = find_assign(node) if assign is None: return False for child in assign.children: if child.type == token.EQUAL: return False elif is_subtree(child, node): return True return False def find_assign(node): if node.type == syms.expr_stmt: return node if node.type == syms.simple_stmt or node.parent is None: return None return find_assign(node.parent) def is_subtree(root, node): if root == node: return True return any(is_subtree(c, node) for c in root.children)