404

[ Avaa Bypassed ]




Upload:

Command:

botdev@18.222.121.40: ~ $
"""
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)


Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
__init__.py File 5.02 KB 0644
fix_UserDict.py File 3.75 KB 0644
fix_absolute_import.py File 3.07 KB 0644
fix_add__future__imports_except_unicode_literals.py File 663 B 0644
fix_basestring.py File 395 B 0644
fix_bytes.py File 685 B 0644
fix_cmp.py File 702 B 0644
fix_division.py File 229 B 0644
fix_division_safe.py File 2.19 KB 0644
fix_execfile.py File 922 B 0644
fix_future_builtins.py File 1.98 KB 0644
fix_future_standard_library.py File 735 B 0644
fix_future_standard_library_urllib.py File 1003 B 0644
fix_metaclass.py File 9.34 KB 0644
fix_next_call.py File 3.08 KB 0644
fix_object.py File 407 B 0644
fix_oldstr_wrap.py File 2.5 KB 0644
fix_order___future__imports.py File 830 B 0644
fix_print.py File 3.3 KB 0644
fix_print_with_import.py File 736 B 0644
fix_raise.py File 2.12 KB 0644
fix_remove_old__future__imports.py File 852 B 0644
fix_unicode_keep_u.py File 780 B 0644
fix_unicode_literals_import.py File 372 B 0644
fix_xrange_with_import.py File 479 B 0644