X7ROOT File Manager
Current Path:
/opt/alt/python37/lib64/python3.7/lib2to3/fixes
opt
/
alt
/
python37
/
lib64
/
python3.7
/
lib2to3
/
fixes
/
ðŸ“
..
📄
__init__.py
(47 B)
ðŸ“
__pycache__
📄
fix_apply.py
(2.29 KB)
📄
fix_asserts.py
(984 B)
📄
fix_basestring.py
(320 B)
📄
fix_buffer.py
(590 B)
📄
fix_dict.py
(3.67 KB)
📄
fix_except.py
(3.27 KB)
📄
fix_exec.py
(979 B)
📄
fix_execfile.py
(2 KB)
📄
fix_exitfunc.py
(2.44 KB)
📄
fix_filter.py
(2.7 KB)
📄
fix_funcattrs.py
(644 B)
📄
fix_future.py
(547 B)
📄
fix_getcwdu.py
(451 B)
📄
fix_has_key.py
(3.12 KB)
📄
fix_idioms.py
(4.76 KB)
📄
fix_import.py
(3.18 KB)
📄
fix_imports.py
(5.55 KB)
📄
fix_imports2.py
(289 B)
📄
fix_input.py
(708 B)
📄
fix_intern.py
(1.12 KB)
📄
fix_isinstance.py
(1.57 KB)
📄
fix_itertools.py
(1.51 KB)
📄
fix_itertools_imports.py
(2.04 KB)
📄
fix_long.py
(476 B)
📄
fix_map.py
(3.55 KB)
📄
fix_metaclass.py
(8 KB)
📄
fix_methodattrs.py
(606 B)
📄
fix_ne.py
(571 B)
📄
fix_next.py
(3.1 KB)
📄
fix_nonzero.py
(591 B)
📄
fix_numliterals.py
(768 B)
📄
fix_operator.py
(3.35 KB)
📄
fix_paren.py
(1.2 KB)
📄
fix_print.py
(2.78 KB)
📄
fix_raise.py
(2.86 KB)
📄
fix_raw_input.py
(454 B)
📄
fix_reduce.py
(837 B)
📄
fix_reload.py
(1.06 KB)
📄
fix_renames.py
(2.17 KB)
📄
fix_repr.py
(613 B)
📄
fix_set_literal.py
(1.66 KB)
📄
fix_standarderror.py
(449 B)
📄
fix_sys_exc.py
(1.01 KB)
📄
fix_throw.py
(1.54 KB)
📄
fix_tuple_params.py
(5.43 KB)
📄
fix_types.py
(1.73 KB)
📄
fix_unicode.py
(1.23 KB)
📄
fix_urllib.py
(8.16 KB)
📄
fix_ws_comma.py
(1.06 KB)
📄
fix_xrange.py
(2.63 KB)
📄
fix_xreadlines.py
(689 B)
📄
fix_zip.py
(1.26 KB)
Editing: fix_import.py
"""Fixer for import statements. If spam is being imported from the local directory, this import: from spam import eggs Becomes: from .spam import eggs And this import: import spam Becomes: from . import spam """ # Local imports from .. import fixer_base from os.path import dirname, join, exists, sep from ..fixer_util import FromImport, syms, token def traverse_imports(names): """ Walks over all the names imported in a dotted_as_names node. """ pending = [names] while pending: node = pending.pop() if node.type == token.NAME: yield node.value elif node.type == syms.dotted_name: yield "".join([ch.value for ch in node.children]) elif node.type == syms.dotted_as_name: pending.append(node.children[0]) elif node.type == syms.dotted_as_names: pending.extend(node.children[::-2]) else: raise AssertionError("unknown node type") class FixImport(fixer_base.BaseFix): BM_compatible = True PATTERN = """ import_from< 'from' imp=any 'import' ['('] any [')'] > | import_name< 'import' imp=any > """ def start_tree(self, tree, name): super(FixImport, self).start_tree(tree, name) self.skip = "absolute_import" in tree.future_features def transform(self, node, results): if self.skip: return imp = results['imp'] if node.type == syms.import_from: # Some imps are top-level (eg: 'import ham') # some are first level (eg: 'import ham.eggs') # some are third level (eg: 'import ham.eggs as spam') # Hence, the loop while not hasattr(imp, 'value'): imp = imp.children[0] if self.probably_a_local_import(imp.value): imp.value = "." + imp.value imp.changed() else: have_local = False have_absolute = False for mod_name in traverse_imports(imp): if self.probably_a_local_import(mod_name): have_local = True else: have_absolute = True if have_absolute: if have_local: # We won't handle both sibling and absolute imports in the # same statement at the moment. self.warning(node, "absolute and local imports together") return new = FromImport(".", [imp]) new.prefix = node.prefix return new def probably_a_local_import(self, imp_name): if imp_name.startswith("."): # Relative imports are certainly not local imports. return False imp_name = imp_name.split(".", 1)[0] base_path = dirname(self.filename) base_path = join(base_path, imp_name) # If there is no __init__.py next to the file its not in a package # so can't be a relative import. if not exists(join(dirname(base_path), "__init__.py")): return False for ext in [".py", sep, ".pyc", ".so", ".sl", ".pyd"]: if exists(base_path + ext): return True return False
Upload File
Create Folder