3
2a/ @ s d dl T d ddZeeefZdd Zd!d
dZdd
Zdd Z d"ddZ
dd Zdd Zd#ddZ
dd ZG dd deZG dd deZdS )$ )* execc C s t | ||tS )N)compileZ
PyCF_ONLY_AST)sourcefilenamemode r (/opt/alt/python36/lib64/python3.6/ast.pyparse s r c s: t | trt| dd} t | tr&| j} fdd | S )Neval)r c s t | tr| jS t | ttfr$| jS t | tr4| jS t | trNt t
| jS t | trht
t
| jS t | trtt
| jS t | trt fddt| j| jD S t | tr| jS t | tot | jttfr
| j}t |trrt | jtr|
S | S nht | trrt | jttfrr | j} | j }t |trrt |trrt | jtrj|| S || S t!dt"| d S )Nc 3 s" | ]\}} | |fV qd S )Nr ).0kv)_convertr r
A s z1literal_eval.._convert..zmalformed node or string: )#
isinstanceConstantvalueStrZBytessZNumnZTupletuplemapZeltsZListlistSetsetZDictdictzipkeysvaluesZNameConstantZUnaryOpopZUAddZUSuboperand
_NUM_TYPESZBinOpZAddZSubleftright
ValueErrorrepr)noder" r$ r% )r r r
r 3 s>
zliteral_eval.._convert)r strr Z
Expressionbody)Znode_or_stringr )r r
literal_eval( s
"r+ TFc s2 fdd t | ts*td| jj | S )Nc s t trfddt D }d jjdjr>dd |D ndd |D f }r jr||rfdphd7 }|dj fd d jD 7 }|d
S t trddjfdd D S t S )
Nc s g | ]\}}| |fqS r r )r
ab)_formatr r
c s z)dump.._format..z%s(%sz, c s s | ]}d | V qdS )z%s=%sNr )r
fieldr r r
r e s z(dump.._format..c s s | ]\}}|V qd S )Nr )r
r, r- r r r
r g s c 3 s$ | ]}d | t |f V qdS )z%s=%sN)getattr)r
r, )r. r( r r
r k s )z[%s]c 3 s | ]} |V qd S )Nr )r
x)r. r r
r o s ) r ASTiter_fields __class____name__join_attributesr r' )r( Zfieldsrv)r. annotate_fieldsinclude_attributes)r( r
r. a s
zdump.._formatzexpected AST, got %r)r r5 TypeErrorr7 r8 )r( r<