%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/__pycache__/pprint.cpython-38.pyc

U

naS
@sdZddlZddlZddlZddlZddlm	Z
dddddd	d
gZd%d
ddddZd&d
ddddZ
d
ddd
ZddZddZddZGdddZddZGdd	d	ZddZeeeeeeeeedhZddZ d'd d!Z!d"d#Z"e#d$kre!dS)(a/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.

N)StringIOpprintpformat
isreadableisrecursivesaferepr
PrettyPrinterppPFTcompact
sort_dictscCs"t||||||d}||dS)zAPretty-print a Python object to a stream [default is sys.stdout].)streamindentwidthdepthr
rN)rr)objectrrrrr
rZprinterr"/usr/local/lib/python3.8/pprint.pyr/scCst|||||d|S)z<Format a Python object into a pretty-printed representation.)rrrr
r)rr)rrrrr
rrrrr7s)rcOst|f|d|i|dS)zPretty-print a Python objectrN)r)rrargskwargsrrrr	=scCst|iddddS)z=Version of repr() which can handle recursive data structures.NrT
_safe_reprrrrrrAscCst|iddddS)z4Determine if saferepr(object) is readable by eval().NrTr
rrrrrrEscCst|iddddS)z8Determine if object requires a recursive representation.NrTrrrrrrIsc@s&eZdZdZdgZddZddZdS)	_safe_keyaUHelper function for key functions when sorting unorderable objects.

    The wrapped-object will fallback to a Py2.x style comparison for
    unorderable types (sorting first comparing the type name and then by
    the obj ids).  Does not work recursively, so dict.items() must have
    _safe_key applied to both the key and the value.

    objcCs
||_dSN)r)selfrrrr__init__Ysz_safe_key.__init__cCsXz|j|jkWStk
rRtt|jt|jftt|jt|jfkYSXdSr)r	TypeErrorstrtypeid)rotherrrr__lt__\sz_safe_key.__lt__N)__name__
__module____qualname____doc__	__slots__r r&rrrrrMs	rcCst|dt|dfS)z&Helper function for comparing 2-tuplesrr
)r)trrr_safe_tuplecsr-c@seZdZd;dddddZd	d
ZddZd
dZddZddZiZ	ddZ
e
e	ej<ddZ
e
e	ejj<ddZee	ej<ddZee	ej<ddZee	ej<ee	ej<ddZee	ej<dd Zee	ej<d!d"Zee	ej<d#d$Zee	ejj<d%d&Z d'd(Z!d)d*Z"d+d,Z#d-d.Z$e$e	ej%j<d/d0Z&e&e	ej'j<d1d2Z(e(e	ej)j<d3d4Z*e*e	ej+j<d5d6Z,e,e	ej-j<d7d8Z.e.e	ej/j<d9d:Z0e0e	ej1j<dS)<rr
rNFTrcCst|}t|}|dkr td|dk	r8|dkr8td|sDtd||_||_||_|dk	rf||_ntj|_t||_	||_
dS)aHandle 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.

        compact
            If true, several items will be combined in one line.

        sort_dicts
            If true, dict keys are sorted.

        rzindent must be >= 0Nzdepth must be > 0zwidth must be != 0)int
ValueError_depth_indent_per_level_width_stream_sysstdoutbool_compact_sort_dicts)rrrrrr
rrrrr hs 
zPrettyPrinter.__init__cCs&|||jddid|jddS)Nr
)_formatr3writerrrrrrszPrettyPrinter.pprintcCs"t}|||ddid|SNr)	_StringIOr:getvalue)rrsiorrrrszPrettyPrinter.pformatcCs||idddS)Nrrformatr<rrrrszPrettyPrinter.isrecursivecCs ||idd\}}}|o|Sr=rA)rrsreadable	recursiverrrrszPrettyPrinter.isreadablec	Cst|}||kr.|t|d|_d|_dS||||}|j||}	t||	kr|j	t
|jd}
|
dk	rd||<|
|||||||d||=dSt|t
rd||<|||||||d||=dS||dS)NTFr
)r$r;
_recursion
_recursive	_readable_reprr2len	_dispatchgetr#__repr__
isinstancedict_pprint_dict)rrrr	allowancecontextlevelobjidrep	max_widthprrrr:s0
zPrettyPrinter._formatc
Csz|j}|d|jdkr*||jddt|}|rn|jrNt|td}	n|}	||	|||d|||ddS)N{r
 key})r;r1rJr8sorteditemsr-_format_dict_items)
rrrrrQrRrSr;lengthr^rrrrPs
zPrettyPrinter._pprint_dictcCslt|s|t|dS|j}||jd|t|||t|jd|d|||ddS)N(r
))rJr;repr	__class__r'r:listr^)rrrrrQrRrSclsrrr_pprint_ordered_dictsz"PrettyPrinter._pprint_ordered_dictcCs0|d|||||d|||ddS)N[r
])r;
_format_itemsrrrrrQrRrSrrr_pprint_lists
zPrettyPrinter._pprint_listcCsH|dt|dkrdnd}|||||t|||||dS)Nrar
z,)rb)r;rJrj)rrrrrQrRrSendcharrrr
_pprint_tuples
zPrettyPrinter._pprint_tuplec	Cst|s|t|dS|j}|tkr8|dd}n&||jdd}|t|jd7}t|td}|||||t|||||dS)NrXr\({})r
rZ)	rJr;rcrdsetr'r]rrj)	rrrrrQrRrStyprmrrr_pprint_sets 
zPrettyPrinter._pprint_setcCs|j}t|s|t|dSg}|d}	|dkrD|d7}|d7}|j|}
}t|	D]\}}
t|
}|t|	dkr|
|8}
t||
kr||qZtd|
}|st	|drt	|
|}d}t|D]l\}}||}|t|dkr|t|	dkr||8}tt||kr:|r4|t||}q|}q|rZ|t|qZt|dkrn||dS|dkr|dt|D],\}}|dkr|dd	|||q|dkr|d
dS)NTr
z\S*\s*rarr9rYrb)r;rJrc
splitlinesr2	enumerateappendrefindallAssertionErrorpop)rrrrrQrRrSr;chunkslinesZ
max_width1rVilinerUpartsZ
max_width2currentjpart	candidaterrr_pprint_strsX
$


zPrettyPrinter._pprint_strcCs|j}t|dkr"|t|dS|dk}|rF|d7}|d7}|dd}	t||j||D]$}
||	||
|	s\dd|}	q\|r|ddS)Nr
rarur9rYrb)r;rJrc_wrap_bytes_reprr2)rrrrrQrRrSr;ZparensdelimrUrrr
_pprint_bytes3s"zPrettyPrinter._pprint_bytesc	Cs>|j}|d|t|||d|d||d|ddS)Nz
bytearray(
r
rb)r;rbytes)rrrrrQrRrSr;rrr_pprint_bytearrayHszPrettyPrinter._pprint_bytearraycCs8|d||||d|d|||ddS)Nz
mappingproxy(
r
rb)r;r:copyrkrrr_pprint_mappingproxyQs
z"PrettyPrinter._pprint_mappingproxyc	Cs|j}||j7}dd|}t|d}	t|D]f\}
\}}|
|	k}
||||}|||d||||t|d|
r|nd|||
s0||q0dS)N,
rYr
z: r)r;r1rJrwrIr:)rr^rrrQrRrSr;delimnlZ
last_indexrr[entlastrUrrrr_Ys 

z PrettyPrinter._format_dict_itemscCsL|j}||j7}|jdkr,||jdddd|}d}	|j|d}
}t|}zt|}
Wntk
rxYdSXd}|sH|
}zt|}
Wn(tk
rd}||8}|
|8}
YnX|jr||||}t|d}|
|kr|}
|	r|}	|
|kr|
|8}
||	d}	||q~||	|}	|	||||r<|nd||q~dS)	Nr
rYrruFTr, )
r;r1r2iternext
StopIterationr7rIrJr:)rr^rrrQrRrSr;rrrrVitZnext_entrrrUwrrrrjjsR



zPrettyPrinter._format_itemscCs4||||j|\}}}|s&d|_|r0d|_|S)NFT)rBrr0rHrG)rrrRrSrcrDrErrrrIs
zPrettyPrinter._reprcCst|||||jS)zFormat object for a specific context, returning a string
        and flags indicating whether the representation is 'readable'
        and whether the object represents a recursive construct.
        )rr8)rrrR	maxlevelsrSrrrrBszPrettyPrinter.formatc	Cst|s|t|dS||j||}|j}|t|jd7}|d|j|d|f|||||d|||ddS)Nr
z	%s(%s,
%srYrb)rJr;rcrIdefault_factoryrdr'rP)	rrrrrQrRrSZrdfrfrrr_pprint_default_dictsz"PrettyPrinter._pprint_default_dictc	Cst|s|t|dS|j}||jd|jdkrN||jdd|}||||t|jd|d|||ddS)Nror
rYrrp)rJr;rcrdr'r1most_commonr_)	rrrrrQrRrSrfr^rrr_pprint_counters
zPrettyPrinter._pprint_counterc
	Cst|js|t|dS|j}||jd|t|jd7}t|jD]d\}}	|t|jdkr||	|||d|||dqN||	||d|||dd|qNdS)Nrar
rbrrY)rJmapsr;rcrdr'rwr:)
rrrrrQrRrSrfrmrrr_pprint_chain_maps
zPrettyPrinter._pprint_chain_mapc	Cst|s|t|dS|j}||jd|t|jd7}|d|jdkrz|||||d|||dn:||||d||||j||}|dd||fdS)Nrar
rhrz])z],
%smaxlen=%s)rY)rJr;rcrdr'maxlenrjrI)	rrrrrQrRrSrfZrmlrrr
_pprint_deques&

zPrettyPrinter._pprint_dequec	Cs||j|||||ddSNr
r:datarkrrr_pprint_user_dictszPrettyPrinter._pprint_user_dictc	Cs||j|||||ddSrrrkrrr_pprint_user_listszPrettyPrinter._pprint_user_listc	Cs||j|||||ddSrrrkrrr_pprint_user_stringsz!PrettyPrinter._pprint_user_string)r
rNN)2r'r(r)r rrrrr:rKrPrOrMrg_collectionsOrderedDictrlrerntuplersrq	frozensetrr"rrr	bytearrayr_typesMappingProxyTyper_rjrIrBrdefaultdictrCounterrChainMaprdequerUserDictrUserListr
UserStringrrrrrgs^+




1


)	cCst|}|tkrt|ddfSt|dd}t|trD|tjkrD|sJdSt|}|rl||krldd||kfS||krt|ddfSd||<d}d}	g}
|
j	}|d7}|rt
|td}n|}|D]b\}
}t
|
||||\}}}t
|||||\}}}|d||f|o|o|}|s$|rd}	q||=d	d
|
||	fSt|tr\|tjkstt|trn|tjkrnt|tr|sdSd}n"t|dkrd
}n|sdSd}t|}|r||kr|dd||kfS||krt|ddfSd||<d}d}	g}
|
j	}|d7}|D]8}t
|||||\}}}|||sFd}|rd}	q||=|d
|
||	fSt|}||o|ddfS)NTFrM)z{}TFz{...}r
rZz%s: %sz{%s}r)z[]TFz[%s]z(%s,))z()TFz(%s)z...<)r#_builtin_scalarsrcgetattr
issubclassrOrMr$rFrxr]r^r-rjoinrerrJ
startswith)rrRrrSrrrrrTrDrEZ
componentsrxr^kvZkreprZ	kreadableZkrecurZvreprZ	vreadableZvrecurrBoZoreprZ	oreadableZorecurrUrrrrs

rcCsdt|jt|fS)Nz<Recursion on %s with id=%s>)r#r'r$rrrrrF?srFcCsddl}|dkr,ddddgdddfgd	}t}|}t|iddd
|}|||}td||td||dS)
Nrstring)r
rr)iTz_safe_repr:zpformat:)timerperf_counterrrprint)rrrWt1t2Zt3rrr
_perfcheckDs
rccsd}t|dd}tdt|dD]T}|||d}||}||krP||8}tt||krt|rnt|V|}q$|}q$|rt|VdS)Nrr)rJrangerc)rrrQrrrrrrrrrQs
r__main__)Nr
rN)r
rN)N)$r*collectionsrrysysr4typesriorr>__all__rrr	rrrrr-rrrr"rrr.floatcomplexr6r#rrFrrr'rrrr<module>sJ
F




Zerion Mini Shell 1.0