Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/pprint.pyo

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^c@sdZddlZddlZyddlmZWn!ek
rUddlmZnXdddddd	gZd
j	Z
eZe
ZeZddddd
�Zdddd�Zd�Zd�Zd�Zd�Zd	dd��YZd�Zd�Zdd�Zedkre�ndS(s/Support to pretty-print lists, tuples, & dictionaries recursively.

Very simple, but useful, especially in debugging data structures.

Classes
-------

PrettyPrinter()
    Handle pretty-printing operations onto a stream using a configured
    set of formatting parameters.

Functions
---------

pformat()
    Format a Python object into a pretty-printed representation.

pprint()
    Pretty-print a Python object to a stream [default is sys.stdout].

saferepr()
    Generate a 'standard' repr()-like value, but protect against recursive
    data structures.

i�N(tStringIOtpprinttpformatt
isreadabletisrecursivetsafereprt
PrettyPrinters, iiPc	Cs2td|d|d|d|�}|j|�dS(sAPretty-print a Python object to a stream [default is sys.stdout].tstreamtindenttwidthtdepthN(RR(tobjectRRR	R
tprinter((s/sys/lib/python2.7/pprint.pyR7scCs"td|d|d|�j|�S(s<Format a Python object into a pretty-printed representation.RR	R
(RR(RRR	R
((s/sys/lib/python2.7/pprint.pyR=scCst|idd�dS(s=Version of repr() which can handle recursive data structures.iN(t
_safe_reprtNone(R((s/sys/lib/python2.7/pprint.pyRAscCst|idd�dS(s4Determine if saferepr(object) is readable by eval().iiN(R
R(R((s/sys/lib/python2.7/pprint.pyREscCst|idd�dS(s8Determine if object requires a recursive representation.iiN(R
R(R((s/sys/lib/python2.7/pprint.pyRIscCs@tj��tjr,tjddt�nt|�SWdQXdS(Ntignores%comparing unequal types not supported(twarningstcatch_warningst_systpy3kwarningtfilterwarningstDeprecationWarningtsorted(titerable((s/sys/lib/python2.7/pprint.pyt_sortedMs

	
cBs\eZddd
d
d�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
RS(iiPcCs[t|�}t|�}||_||_||_|dk	rK||_ntj|_dS(s�Handle pretty printing operations onto a stream using a set of
        configured parameters.

        indent
            Number of spaces to indent for each level of nesting.

        width
            Attempted maximum number of columns in the output.

        depth
            The maximum depth to print out nested structures.

        stream
            The desired output stream.  If omitted (or false), the standard
            output stream available at construction will be used.

        N(tintt_deptht_indent_per_levelt_widthRt_streamRtstdout(tselfRR	R
R((s/sys/lib/python2.7/pprint.pyt__init__Us			cCs3|j||jddid�|jjd�dS(Nis
(t_formatRtwrite(RR((s/sys/lib/python2.7/pprint.pyRtscCs/t�}|j||ddid�|j�S(Ni(t	_StringIOR!tgetvalue(RRtsio((s/sys/lib/python2.7/pprint.pyRxs	cCs|j|idd�dS(Nii(tformat(RR((s/sys/lib/python2.7/pprint.pyR}scCs,|j|idd�\}}}|o+|S(Ni(R&(RRtstreadablet	recursive((s/sys/lib/python2.7/pprint.pyR�s!cCs�|d}t|�}||krK|jt|��t|_t|_dS|j|||d�}t|�}	t	|�|j
d||k}
|j}|jr�||jkr�||�dSt|	dd�}t|	t�r�|tjkr�|d�|jdkr!||jdd�nt	|�}
|
rvd||<||j}t|j��}|d\}}|j|||�}||�|d�|j|||t	|�d|d||�|
dkr_x�|dD]~\}}|j|||�}|
r|dd||f�n|d	|�|j|||t	|�d|d||�q�Wn||j}||=n|d
�dSt|	t�r�|tjks�|	t�r�|tjks�|	t�r�|tjks�|	t�r�|tjkr�t	|�}
t|	t�r*|d�d}nvt|	t�rL|d
�d}nT|
s`||�dS||	j�|d�d}|t|	j�d7}t|�}|jdkr�|
r�||jdd�n|
r�d||<||j}|j|d|||d||�|
dkrwxZ|dD]K}|
rF|dd|�n
|d�|j||||d||�q%Wn||j}||=nt|	t�r�|
dkr�|d�n||�dS||�dS(Nit__repr__t{t is: is,
%s%s: s, %s: t}t[t]t(t)s([s])s,
s, t,(t_idR"t
_recursiontTruet
_recursivetFalset	_readablet_reprt_typet_lenRRtgetattrRt
issubclasstdictR*RRtitemsR!tlistttupletsett	frozensett__name__tlen(RRRRt	allowancetcontexttleveltobjidtrepttyptsepLinesR"trtlengthR?tkeytenttendchar((s/sys/lib/python2.7/pprint.pyR!�s�
		!	









	
	










cCsR|j||j�|j|�\}}}|s<t|_n|rNt|_n|S(N(R&tcopyRR7R8R5R6(RRRGRHtreprR(R)((s/sys/lib/python2.7/pprint.pyR9�scCst||||�S(s�Format object for a specific context, returning a string
        and flags indicating whether the representation is 'readable'
        and whether the object represents a recursive construct.
        (R
(RRRGt	maxlevelsRH((s/sys/lib/python2.7/pprint.pyR&�sN(RDt
__module__RR RRRRR!R9R&(((s/sys/lib/python2.7/pprint.pyRTs					\		c Cs<t|�}|tkrdtjkr:t|�ttfSd|krhd|krhd}idd6}nd}idd6}|j}t�}|j	}	xG|D]?}
|
j
�r�|	|
�q�|	||
t|
�dd!��q�Wd||j�|fttfSt|d	d�}t|t�r�|tjkr�|sCd
ttfSt|�}|rt||krtdt||kfS||kr�t|�ttfSd||<t}
t}g}|j}|d7}t}x�t|j��D]�\}}|||||�\}}}|||||�\}}}|d||f�|
oF|oF|}
|sU|r�t}q�q�W||=d
t|�|
|fSt|t�r�|tjks�t|t�r|tjkrt|t�r�s�dttfSd}n4t|�dkrd}n|sdttfSd}t|�}|rP||krP|dt||kfS||krot|�ttfSd||<t}
t}g}|j}|d7}xT|D]L}t||||�\}}}||�|s�}
n|r�t}q�q�W||=|t|�|
|fSt|�}||o5|jd�tfS(Ntlocalet't"s\"s\'ii�s%s%s%sR*s{}s{...}s%s: %ss{%s}s[]s[%s]s(%s,)s()s(%s)s...t<(R:tstrRtmodulesRSR5R7tgetR#R"tisalphaR$R<RR=R>R*R3R4tappendR
RR?t
_commajoinR@RAR;t
startswith( RRGRTRHRKtclosuretquotestqgetR%R"tcharRMRIR(R)t
componentsR^Rtktvtkreprt	kreadabletkrecurtvreprt	vreadabletvrecurR&totoreprt	oreadabletorecurRJ((s/sys/lib/python2.7/pprint.pyR
�s�
			

$ 

	


		

	


	
cCsdt|�jt|�fS(Ns<Recursion on %s with id=%s>(R:RDR3(R((s/sys/lib/python2.7/pprint.pyR4GscCs�ddl}|dkrHddddgidd6d	d
6fgd}nt�}|j�}t|idd�|j�}|j|�|j�}d
G||GHdG||GHdS(Ni�tstringiiiiiiiii�is_safe_repr:spformat:(ii(ttimeRRR
R(RRstptt1tt2tt3((s/sys/lib/python2.7/pprint.pyt
_perfcheckLs0	

t__main__((t__doc__tsysRRt	cStringIORR#tImportErrort__all__tjoinR_tidR3RER;ttypeR:RRRRRRRRR
R4RxRD(((s/sys/lib/python2.7/pprint.pyt<module>#s0
						�T	


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].