a DOgW @sddlZddlZddlZddlZddlmZ gdZ d%dddd d Z d&dddd d Z dd ddZ ddZddZddZGdddZddZGdddZddZeeeeeeeeedhZddZd'd d!Z d"d#Z!e"d$kre dS)(N)StringIO)pprintpformat isreadable isrecursivesaferepr PrettyPrinterppPFTcompact sort_dictscCs"t||||||d}||dS)N)streamindentwidthdepthr r)rr)objectrrrrr rZprinterr+/opt/alt/python39/lib64/python3.9/pprint.pyr/s rcCst|||||d|S)N)rrrr r)rr)rrrrr rrrrr7s r)rcOst|g|Rd|i|dS)Nr)r)rrargskwargsrrrr =sr cCst|iddddS)NrT _safe_reprrrrrrAsrcCst|iddddS)NrTr rrrrrrEsrcCst|iddddS)NrTrrrrrrIsrc@s"eZdZdgZddZddZdS) _safe_keyobjcCs ||_dSN)r)selfrrrr__init__Ysz_safe_key.__init__cCsVz|j|jkWStyPtt|jt|jftt|jt|jfkYS0dSr)r TypeErrorstrtypeid)rotherrrr__lt__\s  z_safe_key.__lt__N)__name__ __module__ __qualname__ __slots__r r&rrrrrMs rcCst|dt|dfS)Nrr )r)trrr _safe_tuplecsr,c@seZdZd=dddddZd d Zd d Zd dZddZddZiZ ddZ e e e j <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 e e ej!j <d'd(Z"d)d*Z#d+d,Z$d-d.Z%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 <d;d<Z2e2e ej3j <dS)>rr r NFTr cCst|}t|}|dkr td|dur8|dkr8td|sDtd||_||_||_|durf||_ntj|_t||_ ||_ dS)Nrzindent must be >= 0zdepth 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 )_formatr2writerrrrrrszPrettyPrinter.pprintcCs"t}|||ddid|SNr) _StringIOr9getvalue)rrZsiorrrrszPrettyPrinter.pformatcCs||idddS)Nrrformatr;rrrrszPrettyPrinter.isrecursivecCs ||idd\}}}|o| Sr<r?)rrsreadable recursiverrrrszPrettyPrinter.isreadablec Cst|}||vr.|t|d|_d|_dS||||}|j||} t|| kr|j t |j d} | durd||<| |||||||d||=dSt |t rd||<|||||||d||=dS||dS)NTFr )r$r: _recursion _recursive _readable_reprr1len _dispatchgetr#__repr__ isinstancedict _pprint_dict) rrrr allowancecontextlevelobjidrep max_widthprrrr9s.   zPrettyPrinter._formatc Csz|j}|d|jdkr*||jddt|}|rn|jrNt|td} n|} || |||d|||ddS)N{r  key})r:r0rHr7sorteditemsr,_format_dict_items) rrrrrOrPrQr:Zlengthr\rrrrNs zPrettyPrinter._pprint_dictcCslt|s|t|dS|j}||jd|t|||t|jd|d|||ddS)N(r ))rHr:repr __class__r'r9listr\)rrrrrOrPrQclsrrr_pprint_ordered_dictsz"PrettyPrinter._pprint_ordered_dictcCs0|d|||||d|||ddS)N[r ])r: _format_itemsrrrrrOrPrQrrr _pprint_lists  zPrettyPrinter._pprint_listcCsH|dt|dkrdnd}|||||t|||||dS)Nr^r z,)r_)r:rHrg)rrrrrOrPrQendcharrrr _pprint_tuples  zPrettyPrinter._pprint_tuplec Cst|s|t|dS|j}|tur8|dd}n&||jdd}|t|jd7}t|td}|||||t|||||dS)NrVrZ({})r rX) rHr:r`rasetr'r[rrg) rrrrrOrPrQtyprjrrr _pprint_sets  zPrettyPrinter._pprint_setcCs|j}t|s|t|dSg}|d} |dkrD|d7}|d7}|j|} } t| D]\} } t| }| t| dkr| |8} t|| kr||qZtd| }| | }d}t|D]h\}}||}|t|dkr| t| dkr||8}tt||kr"|r|t||}q|}q|rZ|t|qZt|dkrV||dS|dkrh|dt|D],\} }| dkr|dd|||qp|dkr|d dS) NTr z\S*\s*r^rr8rWr_) r:rHr` splitlinesr1 enumerateappendrefindallpop)rrrrrOrPrQr:ZchunkslinesZ max_width1rTilinerSpartsZ max_width2currentjpart candidaterrr _pprint_strsT          zPrettyPrinter._pprint_strc Cs|j}t|dkr"|t|dS|dk}|rF|d7}|d7}|dd} t||j||D]$} || || | s\dd|} q\|r|ddS)Nr r^rqr8rWr_)r:rHr`_wrap_bytes_reprr1) rrrrrOrPrQr:ZparensdelimrSrrr _pprint_bytes3s"  zPrettyPrinter._pprint_bytesc Cs>|j}|d|t|||d|d||d|ddS)Nz bytearray( r r_)r:rbytes)rrrrrOrPrQr:rrr_pprint_bytearrayHs zPrettyPrinter._pprint_bytearraycCs8|d||||d|d|||ddS)Nz mappingproxy( r r_)r:r9copyrhrrr_pprint_mappingproxyQs  z"PrettyPrinter._pprint_mappingproxyc Cst|tjurd}n|jj}|t|d7}dd|}|j} t| d} ||dt | D]^\} \} } || |d| | k}| | ||t| d|r|nd|||sd||qd|ddS)N namespacer , rWr^=r_) r#_typesSimpleNamespacerar'rH__dict__r\r:rsr9)rrrrrOrPrQcls_namedelimnlr\ last_indexryrYentlastrrr_pprint_simplenamespaceYs&       z%PrettyPrinter._pprint_simplenamespacec Cs|j}||j7}dd|}t|d} t|D]f\} \} } | | k} || ||}|||d|| ||t|d| r|nd||| s0||q0dS)NrrWr z: r)r:r0rHrsrGr9)rr\rrrOrPrQr:rrryrYrrrSrrrr]ts    z PrettyPrinter._format_dict_itemscCsH|j}||j7}|jdkr,||jdddd|}d} |j|d} } t|} z t| } WntyvYdS0d}|sD| }z t| } Wn&tyd}| |8} | |8} Yn0|jr||||}t|d}| |kr| } | r|} | |kr| |8} || d} ||q||| |} | ||||r8|nd||q|dS) Nr rWrrqFTr, ) r:r0r1iternext StopIterationr6rGrHr9)rr\rrrOrPrQr:rrrrTitZnext_entrrrSwrrrrgsP           zPrettyPrinter._format_itemscCs4||||j|\}}}|s&d|_|r0d|_|S)NFT)r@rr/rFrE)rrrPrQr`rBrCrrrrGs  zPrettyPrinter._reprcCst|||||jSr)rr7)rrrP maxlevelsrQrrrr@szPrettyPrinter.formatc Cst|s|t|dS||j||}|j}|t|jd7}|d|j|d|f|||||d|||ddS)Nr z %s(%s, %srWr_)rHr:r`rGdefault_factoryrar'rN) rrrrrOrPrQZrdfrcrrr_pprint_default_dictsz"PrettyPrinter._pprint_default_dictc Cst|s|t|dS|j}||jd|jdkrN||jdd|}||||t|jd|d|||ddS)Nrlr rWrrm)rHr:r`rar'r0 most_commonr]) rrrrrOrPrQrcr\rrr_pprint_counters zPrettyPrinter._pprint_counterc Cst|js|t|dS|j}||jd|t|jd7}t|jD]d\}} |t|jdkr|| |||d|||dqN|| ||d|||dd|qNdS)Nr^r r_rrW)rHmapsr:r`rar'rsr9) rrrrrOrPrQrcrymrrr_pprint_chain_maps  zPrettyPrinter._pprint_chain_mapc Cst|s|t|dS|j}||jd|t|jd7}|d|jdurz|||||d|||dn:||||d||||j||}|dd||fdS)Nr^r rerz])z], %smaxlen=%s)rW)rHr:r`rar'maxlenrgrG) rrrrrOrPrQrcZrmlrrr _pprint_deques"    zPrettyPrinter._pprint_dequec Cs||j|||||ddSNr r9datarhrrr_pprint_user_dictszPrettyPrinter._pprint_user_dictc Cs||j|||||ddSrrrhrrr_pprint_user_listszPrettyPrinter._pprint_user_listc Cs||j|||||ddSrrrhrrr_pprint_user_string sz!PrettyPrinter._pprint_user_string)r r NN)4r'r(r)r rrrrr9rIrNrMrKrd _collections OrderedDictrirbrktuplerprn frozensetrr"rrr bytearrayrrMappingProxyTyperrr]rgrGr@r defaultdictrCounterrChainMaprdequerUserDictrUserListr UserStringrrrrrgs` +      1     )       rcCst|}|tvrt|ddfSt|dd}t|trD|tjurD|sJdSt|}|rl||krldd||vfS||vrt|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\|tjustt|trn|tjurnt|tr|sd Sd }n"t|dkrd }n|sdSd}t|}|r||kr|dd||vfS||vrt|ddfSd||<d}d} g} | j } |d7}|D]8}t |||||\}}}| ||sFd}|rd} q||=|d | || fSt|}||o|d dfS)NTFrK)z{}TFz{...}r rXz%s: %sz{%s}r)z[]TFz[%s]z(%s,))z()TFz(%s)z...<)r#_builtin_scalarsr`getattr issubclassrMrKr$rDrtr[r\r,rjoinrbrrH startswith)rrPrrQrrorrRrBrCZ componentsrtr\kvZkreprZ kreadableZkrecurZvreprZ vreadableZvrecurr@oZoreprZ oreadableZorecurrSrrrrs      rcCsdt|jt|fS)Nz)r#r'r$rrrrrDZsrDcCsddl}|dur,ddddgdddfgd }t}|}t|iddd |}|||}td ||td ||dS) Nrstring)r rr)iTz _safe_repr:zpformat:)timer perf_counterrrprint)rrrUt1t2Zt3rrr _perfcheck_s rccsd}t|dd}tdt|dD]T}|||d}||}||krP||8}tt||krt|rnt|V|}q$|}q$|rt|VdS)Nrr)rHranger`)rrrOr|rryr~rrrrrls r__main__)Nr r N)r r N)N)# collectionsrrusysr3typesriorr=__all__rrr rrrrr,rrrr"rrr-floatcomplexr5r#rrDrrr'rrrr%s<   -F