Viewing File: /usr/lib/python2.7/site-packages/jmespath/visitor.pyo


#s\c@sddlZddlmZddlmZddlmZdZdZdZ	dZ
d	efd
YZdefdYZ
d
efdYZdefdYZdefdYZdS(iN(t	functions(tstring_type(tNumbercCs!t||rtS||kSdS(N(t_is_special_integer_casetFalse(txty((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt_equalsscCs`|dks|dkr.|tkp-|tkS|dksF|dkr\|tkp[|tkSdS(Nii(tTrueR(RR((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRscCst|pt|tS(N(t_is_actual_numbert
isinstanceR(R((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt_is_comparable&scCs)|tks|tkrtSt|tS(N(RRR
R(R((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyR	.stOptionscBseZdZdddZRS(s8Options to control how a JMESPath function is evaluated.cCs||_||_dS(N(tdict_clstcustom_functions(tselfR
R((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt__init__=s		N(t__name__t
__module__t__doc__tNoneR(((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyR;st_ExpressioncBseZdZdZRS(cCs||_||_dS(N(t
expressiontinterpreter(RRR((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRKs	cOs|jj|||S(N(Rtvisit(Rtnodetargstkwargs((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyROs(RRRR(((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRJs	tVisitorcBs#eZdZdZdZRS(cCs
i|_dS(N(t
_method_cache(R((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRTscOse|d}|jj|}|dkrUt|d|d|j}||j|<n||||S(Nttypesvisit_%s(RtgetRtgetattrt
default_visit(RRRRt	node_typetmethod((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRWs
cOstddS(NR!(tNotImplementedError(RRRR((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyR!`s(RRRRR!(((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRSs			tTreeInterpretercBsFeZied6dd6ejd6ejd6ejd6ejd6ZddgZ	e
Zd!dZ
dZd	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%d Z&RS("teqcCst||S(N(R(RR((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt<lambda>gstnetlttgttltetgtecCstt|j|j|_|dkr7t}n||_|jdk	ra|jj|_n|j	dk	r|jj	|_
ntj|_
dS(N(
tsuperR%RtMAP_TYPEt	_dict_clsRRt_optionsR
Rt
_functionsRt	Functions(Rtoptions((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRps	cOst|ddS(NR(R$(RRRR((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyR!}scCs1|}x$|dD]}|j||}qW|S(Ntchildren(R(RRtvaluetresult((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_subexpressionscCs.y|j|dSWntk
r)dSXdS(NR5(RtAttributeErrorR(RRR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_fields
cCs|j|d}|d|jkrY||j|dd||j|dd|S|j|dd|}|j|dd|}ttf}t|ot|sdS|||SdS(NR5R4ii(tCOMPARATOR_FUNCt
_EQUALITY_OPSRtinttfloatRR(RRR5tcomparator_functlefttrightt	num_types((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_comparatorscCs|S(N((RRR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt
visit_currentscCst|dd|S(NR4i(R(RRR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_exprefscCsQg}x1|dD]%}|j||}|j|qW|jj|d|S(NR4R5(RtappendR1t
call_function(RRR5t
resolved_argstchildtcurrent((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_function_expressions
cCs|j|dd|}t|ts-dS|dd}g}xb|D]Z}|j|j||rH|j|dd|}|dk	r|j|qqHqHW|S(NR4iii(RR
tlistRt_is_trueRE(RRR5tbasetcomparator_nodet	collectedtelementRI((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_filter_projections
cCst|j|dd|}t|ts-dSg}x:|D]2}t|tr_|j|q:|j|q:W|S(NR4i(RR
RKRtextendRE(RRR5RMtmerged_listRP((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt
visit_flattens
cCs|S(N((RRR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_identityscCs<t|tsdSy||dSWntk
r7dSXdS(NR5(R
RKRt
IndexError(RRR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_indexs
cCs1|}x$|dD]}|j||}qW|S(NR4(R(RRR5R6((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_index_expressionscCs+t|tsdSt|d}||S(NR4(R
RKRtslice(RRR5ts((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_slicescCs|j|dd|S(NR4i(R(RRR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_key_val_pairscCs|dS(NR5((RRR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt
visit_literalscCsO|dkrdS|j}x,|dD] }|j||||d<q'W|S(NR4R5(RR/R(RRR5RORH((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_multi_select_dictscCsH|dkrdSg}x+|dD]}|j|j||q!W|S(NR4(RRER(RRR5RORH((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_multi_select_listscCsJ|j|dd|}|j|rF|j|dd|}n|S(NR4ii(Rt	_is_false(RRR5tmatched((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_or_expressionscCsE|j|dd|}|j|r-|S|j|dd|S(NR4ii(RR`(RRR5Ra((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_and_expressionscCs/|j|dd|}|dkr*tS|S(NR4i(RR(RRR5toriginal_result((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_not_expressionscCs1|}x$|dD]}|j||}qW|S(NR4(R(RRR5R6((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt
visit_pipe
scCs~|j|dd|}t|ts-dSg}xD|D]<}|j|dd|}|dk	r:|j|q:q:W|S(NR4ii(RR
RKRRE(RRR5RMRORPRI((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_projections
cCs|j|dd|}y|j}Wntk
r>dSXg}xD|D]<}|j|dd|}|dk	rL|j|qLqLW|S(NR4ii(RtvaluesR8RRE(RRR5RMRORPRI((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pytvisit_value_projections

cCs:|dkp9|gkp9|ikp9|dkp9|tkS(Nt(RR(RR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyR`(s0cCs|j|S(N(R`(RR5((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRL/sN('RRRtoperatorR)R*tletgeR:R;tdictR.RRR!R7R9RBRCRDRJRQRTRURWRXR[R\R]R^R_RbRcReRfRgRiR`RL(((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyR%dsF





								
	
		
												
	tGraphvizVisitorcBs#eZdZdZdZRS(cCs)tt|jg|_d|_dS(Ni(R-RoRt_linest_count(R((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyR4s	cOsf|jjdd|d|jf}|jd7_|j|||jjddj|jS(Ns
digraph AST {s%s%sRit}s
(RpRERqt_visittjoin(RRRRRI((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyR9scCs|jjd||d|jddfxj|jdgD]V}d|d|jf}|jd7_|jjd||f|j||q@WdS(	Ns%s [label="%s(%s)"]RR5RjR4s%s%sis
  %s -> %s(RpRERRqRs(RRRIRHt
child_name((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRsAs!(RRRRRs(((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyRo3s		(RktjmespathRtjmespath.compatRtnumbersRRRRR	tobjectRRRR%Ro(((s4/usr/lib/python2.7/site-packages/jmespath/visitor.pyt<module>s				
	
Back to Directory File Manager