/usr/share/cagefs-skeleton/lib/python3.9/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
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
fix_UserDict.py
Edit
fix_absolute_import.py
Edit
fix_add__future__imports_except_unicode_literals.py
Edit
fix_basestring.py
Edit
fix_bytes.py
Edit
fix_cmp.py
Edit
fix_division.py
Edit
fix_division_safe.py
Edit
fix_execfile.py
Edit
fix_future_builtins.py
Edit
fix_future_standard_library.py
Edit
fix_future_standard_library_urllib.py
Edit
fix_input.py
Edit
fix_metaclass.py
Edit
fix_next_call.py
Edit
fix_object.py
Edit
fix_oldstr_wrap.py
Edit
fix_order___future__imports.py
Edit
fix_print.py
Edit
fix_print_with_import.py
Edit
fix_raise.py
Edit
fix_remove_old__future__imports.py
Edit
fix_unicode_keep_u.py
Edit
fix_unicode_literals_import.py
Edit
fix_xrange_with_import.py
Edit