Spade
Mini Shell
�
q�fc@sdZddlZddlZyddlmZWn!ek
rUddlmZnXdddddd gZd
j Z
eZe
ZeZddddd
�Zdddd�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/usr/lib64/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/usr/lib64/python2.7/pprint.pyR=scCst|idd�dS(s=Version
of repr() which can handle recursive data structures.iN(t
_safe_reprtNone(R((s/usr/lib64/python2.7/pprint.pyRAscCst|idd�dS(s4Determine
if saferepr(object) is readable by
eval().iiN(R
R(R((s/usr/lib64/python2.7/pprint.pyREscCst|idd�dS(s8Determine
if object requires a recursive
representation.iiN(R
R(R((s/usr/lib64/python2.7/pprint.pyRIscCs@tj��.tjr,tjddt�nt|�SWdQXdS(Ntignores%comparing
unequal types not
supported(twarningstcatch_warningst_systpy3kwarningtfilterwarningstDeprecationWarningtsorted(titerable((s/usr/lib64/python2.7/pprint.pyt_sortedMs
cBs\eZddd
d
d�Zd�Zd�Zd�Zd�Zd�Zd�Z d �Z
RS(iiPcCs[t|�}t|�}||_||_||_|dk rK||_ntj|_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/usr/lib64/python2.7/pprint.pyt__init__Us cCs3|j||jddid�|jjd�dS(Nis
(t_formatRtwrite(RR((s/usr/lib64/python2.7/pprint.pyRtscCs/t�}|j||ddid�|j�S(Ni(t _StringIOR!tgetvalue(RRtsio((s/usr/lib64/python2.7/pprint.pyRxs cCs|j|idd�dS(Nii(tformat(RR((s/usr/lib64/python2.7/pprint.pyR}scCs,|j|idd�\}}}|o+|S(Ni(R&(RRtstreadablet recursive((s/usr/lib64/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| t�r�|tjks�t| t�r�|tjks�t| t�r�|tjkr�t |�}
t| t�r*|d�d}n�t| t�rv|
sM|d
�dS|d�d}t|�}|d7}n\t| t�r�|
s�|d�dS|d�d}t|�}|d7}n|d�d}|jdkr�|
r�||jdd�n|
r�d||<||j}|j|d|||d||�|
dkr�xZ|dD]K}|
rx|dd|�n
|d�|j||||d||�qWWn||j}||=nt| t�r�|
dkr�|d�n||�dS||�dS(Nit__repr__t{t
is: is,
%s%s: s, %s: t}t[t]sset()sset([s])isfrozenset()sfrozenset([i
t(t)s,
s, t,(t_idR"t
_recursiontTruet
_recursivetFalset _readablet_reprt_typet_lenRRtgetattrRt
issubclasstdictR*RRtitemsR!tlistttupletsett frozenset(RRRRt allowancetcontexttleveltobjidtrepttyptsepLinesR"trtlengthR?tkeytenttendchar((s/usr/lib64/python2.7/pprint.pyR!�s�
!
cCsR|j||j�|j|�\}}}|s<t|_n|rNt|_n|S(N(R&tcopyRR7R8R5R6(RRRERFtreprR(R)((s/usr/lib64/python2.7/pprint.pyR9�scCst||||�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
(RRREt maxlevelsRF((s/usr/lib64/python2.7/pprint.pyR&�sN(t__name__t
__module__RR
RRRRR!R9R&(((s/usr/lib64/python2.7/pprint.pyRTs c 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�t}
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:tstrRtmodulesRQR5R7tgetR#R"tisalphaR$R<RR=R>R*R3R4tappendR
RR?t
_commajoinR@RAR;t
startswith( RRERRRFRItclosuretquotestqgetR%R"tcharRKRGR(R)t
componentsR]Rtktvtkreprt kreadabletkrecurtvreprt vreadabletvrecurR&totoreprt oreadabletorecurRH((s/usr/lib64/python2.7/pprint.pyR
�s�
$
cCsdt|�jt|�fS(Ns<Recursion on %s with
id=%s>(R:RSR3(R((s/usr/lib64/python2.7/pprint.pyR4NscCs�ddl}|dkrHddddgidd6d d
6fgd}nt�}|j�}t|idd�|j�}|j|�|j�}d
G||GHdG||GHdS(Ni����tstringiiiiiiiii��is_safe_repr:spformat:(ii(ttimeRRR
R(RRrtptt1tt2tt3((s/usr/lib64/python2.7/pprint.pyt
_perfcheckSs0
t__main__((t__doc__tsysRRt cStringIORR#tImportErrort__all__tjoinR^tidR3tlenR;ttypeR:RRRRRRRRR
R4RwRS(((s/usr/lib64/python2.7/pprint.pyt<module>#s0
� T