PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB` REDROOM
PHP 5.6.40
Preview: fix_print.py Size: 2.78 KB
/lib64/python3.6/lib2to3/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 ... ,'    into 'print(..., end=" ")'
    'print >>x, ...' into 'print(..., file=x)'

No changes are applied if print_function is imported from __future__

"""

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


parend_expr = patcomp.compile_pattern(
              """atom< '(' [atom|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("print"), [],
                               prefix=bare_print.prefix))
            return
        assert node.children[0] == Name("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, ">>"):
            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 = ""
        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, "sep", String(repr(sep)))
            if end is not None:
                self.add_kwarg(l_args, "end", String(repr(end)))
            if file is not None:
                self.add_kwarg(l_args, "file", file)
        n_stmt = Call(Name("print"), l_args)
        n_stmt.prefix = node.prefix
        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 = ""
        n_argument = pytree.Node(self.syms.argument,
                                 (Name(s_kwd),
                                  pytree.Leaf(token.EQUAL, "="),
                                  n_expr))
        if l_nodes:
            l_nodes.append(Comma())
            n_argument.prefix = " "
        l_nodes.append(n_argument)

Directory Contents

Dirs: 1 × Files: 53

Name Size Perms Modified Actions
- drwxr-xr-x 2026-02-06 23:01:23
Edit Download
2.37 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
984 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
320 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
590 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.67 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.27 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
979 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.00 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.44 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.59 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
644 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
547 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
451 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.12 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
4.76 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.18 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
5.55 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
289 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
708 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.21 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.57 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.51 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.04 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
476 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.55 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
8.00 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
606 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
571 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.10 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
591 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
768 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
3.39 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.20 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.78 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.86 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
454 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
837 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.13 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.17 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
613 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.66 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
449 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.01 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.54 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
5.43 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.73 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.23 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
8.16 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.06 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
2.63 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
689 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download
1.26 KB lrw-r--r-- 2018-12-23 21:37:14
Edit Download
47 B lrw-r--r-- 2018-12-23 21:37:14
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).
© 2026 REDROOM — Secure File Manager. All rights reserved. Built with ❤️ & Red Dark UI