OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
python3
/
dist-packages
/
libfuturize
/
fixes
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
07/12/2020 04:36:17 PM
rwxr-xr-x
📄
__init__.py
5.02 KB
09/11/2015 07:22:07 AM
rw-r--r--
📁
__pycache__
-
07/12/2020 04:36:18 PM
rwxr-xr-x
📄
fix_UserDict.py
3.75 KB
09/11/2015 07:22:07 AM
rw-r--r--
📄
fix_absolute_import.py
3.07 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_add__future__imports_except_unicode_literals.py
663 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_basestring.py
395 bytes
07/25/2015 10:34:42 AM
rw-r--r--
📄
fix_bytes.py
685 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_cmp.py
702 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_division.py
229 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_division_safe.py
2.19 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_execfile.py
922 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_future_builtins.py
1.98 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_future_standard_library.py
735 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_future_standard_library_urllib.py
1003 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_metaclass.py
9.34 KB
09/11/2015 07:22:07 AM
rw-r--r--
📄
fix_next_call.py
3.08 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_object.py
407 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_oldstr_wrap.py
2.5 KB
09/11/2015 07:22:07 AM
rw-r--r--
📄
fix_order___future__imports.py
830 bytes
09/11/2015 07:22:07 AM
rw-r--r--
📄
fix_print.py
3.3 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_print_with_import.py
736 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_raise.py
2.12 KB
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_remove_old__future__imports.py
852 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_unicode_keep_u.py
780 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_unicode_literals_import.py
372 bytes
11/21/2014 11:52:03 AM
rw-r--r--
📄
fix_xrange_with_import.py
479 bytes
11/21/2014 11:52:03 AM
rw-r--r--
Editing: fix_absolute_import.py
Close
""" Fixer for import statements, with a __future__ import line. Based on lib2to3/fixes/fix_import.py, but extended slightly so it also supports Cython modules. If spam is being imported from the local directory, this import: from spam import eggs becomes: from __future__ import absolute_import from .spam import eggs and this import: import spam becomes: from __future__ import absolute_import from . import spam """ from os.path import dirname, join, exists, sep from lib2to3.fixes.fix_import import FixImport from lib2to3.fixer_util import FromImport, syms from lib2to3.fixes.fix_import import traverse_imports from libfuturize.fixer_util import future_import class FixAbsoluteImport(FixImport): run_order = 9 def transform(self, node, results): """ Copied from FixImport.transform(), but with this line added in any modules that had implicit relative imports changed: from __future__ import absolute_import" """ 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 = u"." + imp.value imp.changed() future_import(u"absolute_import", node) 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(u".", [imp]) new.prefix = node.prefix future_import(u"absolute_import", node) return new def probably_a_local_import(self, imp_name): """ Like the corresponding method in the base class, but this also supports Cython modules. """ if imp_name.startswith(u"."): # Relative imports are certainly not local imports. return False imp_name = imp_name.split(u".", 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", ".pyx"]: if exists(base_path + ext): return True return False