PATH:
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
libfuturize
/
fixes
""" 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
[+]
__pycache__
[-] fix_raise.py
[edit]
[-] fix_next_call.py
[edit]
[-] __init__.py
[edit]
[-] fix_print.py
[edit]
[-] fix_metaclass.py
[edit]
[-] fix_cmp.py
[edit]
[+]
..
[-] fix_future_builtins.py
[edit]
[-] fix_unicode_literals_import.py
[edit]
[-] fix_remove_old__future__imports.py
[edit]
[-] fix_future_standard_library_urllib.py
[edit]
[-] fix_bytes.py
[edit]
[-] fix_unicode_keep_u.py
[edit]
[-] fix_future_standard_library.py
[edit]
[-] fix_order___future__imports.py
[edit]
[-] fix_oldstr_wrap.py
[edit]
[-] fix_UserDict.py
[edit]
[-] fix_xrange_with_import.py
[edit]
[-] fix_division.py
[edit]
[-] fix_print_with_import.py
[edit]
[-] fix_basestring.py
[edit]
[-] fix_absolute_import.py
[edit]
[-] fix_object.py
[edit]
[-] fix_division_safe.py
[edit]
[-] fix_add__future__imports_except_unicode_literals.py
[edit]
[-] fix_execfile.py
[edit]