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_oldstr_wrap.py
Close
""" For the ``future`` package. Adds this import line: from past.builtins import str as oldstr at the top and wraps any unadorned string literals 'abc' or explicit byte-string literals b'abc' in oldstr() calls so the code has the same behaviour on Py3 as on Py2.6/2.7. """ from __future__ import unicode_literals import re from lib2to3 import fixer_base from lib2to3.pgen2 import token from lib2to3.fixer_util import syms from libfuturize.fixer_util import (future_import, touch_import_top, wrap_in_fn_call) _literal_re = re.compile(r"[^uUrR]?[\'\"]") class FixOldstrWrap(fixer_base.BaseFix): BM_compatible = True PATTERN = "STRING" def transform(self, node, results): if node.type == token.STRING: touch_import_top(u'past.types', u'oldstr', node) if _literal_re.match(node.value): new = node.clone() # Strip any leading space or comments: # TODO: check: do we really want to do this? new.prefix = u'' new.value = u'b' + new.value wrapped = wrap_in_fn_call("oldstr", [new], prefix=node.prefix) return wrapped def transform(self, node, results): expr1, expr2 = results[0].clone(), results[1].clone() # Strip any leading space for the first number: expr1.prefix = u'' return wrap_in_fn_call("old_div", expr1, expr2, prefix=node.prefix) class FixDivisionSafe(fixer_base.BaseFix): # BM_compatible = True run_order = 4 # this seems to be ignored? _accept_type = token.SLASH PATTERN = """ term<(not('/') any)+ '/' ((not('/') any))> """ def match(self, node): u""" Since the tree needs to be fixed once and only once if and only if it matches, then we can start discarding matches after we make the first. """ if (node.type == self.syms.term and len(node.children) == 3 and match_division(node.children[1])): expr1, expr2 = node.children[0], node.children[2] return expr1, expr2 else: return False def transform(self, node, results): future_import(u"division", node) touch_import_top(u'past.utils', u'old_div', node) expr1, expr2 = results[0].clone(), results[1].clone() # Strip any leading space for the first number: expr1.prefix = u'' return wrap_in_fn_call("old_div", expr1, expr2, prefix=node.prefix)