Viewing File: /usr/lib/python2.7/site-packages/jmespath/functions.pyc

ó
á#s\c@s!ddlZddlZddlmZddlmZddlmZmZidd6dd6d	d
6dd6d
d6d
d6dd6dd6dd6d	d6dd6dd6Z	idd6dd6dd	6d d6d!d
6d"d6d#d6Z
d„Zdefd„ƒYZ
dee
eƒfd„ƒYZdS($iÿÿÿÿN(t
exceptions(tstring_type(tget_methodstwith_metaclasstbooleantbooltarraytlisttobjecttdicttnulltNoneTypetstringtunicodetstrtnumbertfloattinttlongtOrderedDictt_Projectiontexpreft_Expressioncs‡fd†}|S(Ncs
ˆ|_|S(N(t	signature(tfunc(t	arguments(s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_record_signature's	((RR((Rs6/usr/lib/python2.7/site-packages/jmespath/functions.pyR&stFunctionRegistrycBseZd„Zd„ZRS(cCs*|jƒtt|ƒj|||ƒdS(N(t_populate_function_tabletsuperRt__init__(tclstnametbasestattrs((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR.s
cCs‚i}xlt|ƒD]^\}}|jdƒs4qnt|ddƒ}|dk	ri|d6|d6||d<qqW||_dS(Nt_func_Rtfunctioni(Rt
startswithtgetattrtNonetFUNCTION_TABLE(Rtfunction_tableR tmethodR((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR2s(t__name__t
__module__RR(((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR-s	t	FunctionscBsõeZiZd„Zd„Zd„Zd„Zd„Zd„Ze	idgd6ƒd„ƒZ
e	id	gd6ƒd
„ƒZe	igd6ed6ƒd„ƒZ
e	igd6ƒd
„ƒZe	igd6ƒd„ƒZe	igd6ƒd„ƒZe	iddgd6igd6ƒd„ƒZe	idddgd6ƒd„ƒZe	idgd6idgd6ƒd„ƒZe	idgd6idgd6ƒd„ƒZe	iddgd6ƒd„ƒZe	idgd6ƒd„ƒZe	idgd6ƒd„ƒZe	idgd6idgd6ƒd„ƒZe	idgd6idgd6ƒd„ƒZe	id	dgd6ƒd„ƒZe	idgd6ed6ƒd„ƒZe	id	dgd6ƒd „ƒZe	idd	gd6ƒd!„ƒZe	id	gd6ƒd"„ƒZe	idgd6ƒd#„ƒZe	idgd6ƒd$„ƒZ e	igd6ƒd%„ƒZ!e	idgd6idgd6ƒd&„ƒZ"e	idgd6idgd6ƒd'„ƒZ#e	idgd6idgd6ƒd(„ƒZ$d)„Z%d*„Z&RS(+cCsly|j|}Wn$tk
r7tjd|ƒ‚nX|d}|d}|j|||ƒ|||ŒS(NsUnknown function: %s()R$R(R(tKeyErrorRtUnknownFunctionErrort_validate_arguments(tselft
function_namet
resolved_argstspecR$R((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt
call_functionHs


cCs§|rX|djdƒrXt|ƒt|ƒkr”tjt|ƒt|ƒ|ƒ‚q”n<t|ƒt|ƒkr”tjt|ƒt|ƒ|ƒ‚n|j|||ƒS(Niÿÿÿÿtvariadic(tgettlenRtVariadictArityErrort
ArityErrort_type_check(R1targsRR2((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR0Ss!cCsOxHtt|ƒƒD]4}||d}|r|j||||ƒqqWdS(Nttypes(trangeR8t_type_check_single(R1tactualRR2tit
allowed_types((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR;]s
cCsw|j|ƒ\}}t|ƒj}||krTtj|||j|ƒ|ƒ‚n|rs|j||||ƒndS(N(t_get_allowed_pytypesttypeR+RtJMESPathTypeErrort_convert_to_jmespath_typet_subtype_check(R1tcurrentR=R2RBtallowed_subtypestactual_typename((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR?dscCs†g}g}xm|D]e}|jddƒ}t|ƒdkr]|\}}|jt|ƒn
|d}|jt|ƒqW||fS(Nt-iii(tsplitR8tappendtREVERSE_TYPES_MAPtextend(R1R=RBRIttttype_tsubtype((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyRC{s

c
Cs"t|ƒdkrf|d}xÿ|D]<}t|ƒj}||kr#tj||||ƒ‚q#q#Wn¸t|ƒdkr|rt|dƒj}x@|D]}||kr˜|}	Pq˜q˜Wtj||d||ƒ‚xG|D]<}t|ƒj}||	krÛtj||||ƒ‚qÛqÛWndS(Nii(R8RDR+RRE(
R1RHRIR=R2telementRJtfirsttsubtypestallowed((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyRGˆs(



RR=cCs
t|ƒS(N(tabs(R1targ((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt	_func_abs¤ssarray-numbercCs(|r t|ƒtt|ƒƒSdSdS(N(tsumRR8R'(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt	_func_avg¨sR6cGs%x|D]}|dk	r|SqWdS(N(R'(R1Rtargument((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_not_null¯s
cCst|tƒr|S|gSdS(N(t
isinstanceR(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_to_arrayµscCs0t|tƒr|Stj|dddtƒSdS(Nt
separatorst,t:tdefault(RaRb(R^tSTRING_TYPEtjsontdumpsR(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_to_string¼scCsŽt|tttfƒrdS|dkr,dSt|ttfƒrE|Syt|ƒSWn4tk
r‰yt|ƒSWqŠtk
r…dSXnXdS(N(R^RR	RR'RRt
ValueError(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_to_numberÄs

RRcCs
||kS(N((R1tsubjecttsearch((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_containsÕsRcCs
t|ƒS(N(R8(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_lengthÙscCs
|j|ƒS(N(tendswith(R1Rktsuffix((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_ends_withÝscCs
|j|ƒS(N(R%(R1RkRo((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_starts_witháscCs4t|tƒr |ddd…Stt|ƒƒSdS(Niÿÿÿÿ(R^RdRtreversed(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt
_func_reverseåscCs
tj|ƒS(N(tmathtceil(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt
_func_ceilìscCs
tj|ƒS(N(Rttfloor(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_floorðssarray-stringcCs
|j|ƒS(N(tjoin(R1t	separatorR((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt
_func_joinôsRcCs7g}x*|D]"}|j|j|j|ƒƒq
W|S(N(RMtvisitt
expression(R1RRXtresultRS((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt	_func_mapøs
 cCs|rt|ƒSdSdS(N(tmaxR'(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt	_func_maxÿs
cGs(i}x|D]}|j|ƒq
W|S(N(tupdate(R1RtmergedRX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_merges
cCs|rt|ƒSdSdS(N(tminR'(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt	_func_min
s
cCstt|ƒƒS(N(Rtsorted(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt
_func_sortscCs
t|ƒS(N(RZ(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt	_func_sumscCst|jƒƒS(N(Rtkeys(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt
_func_keysscCst|jƒƒS(N(Rtvalues(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_values"scCsyt|tƒrdSt|tƒr&dSt|tƒr9dSt|tƒrLdSt|ttfƒredS|dkrudSdS(NRRRRRR
(R^RdRRR	RRR'(R1RX((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt
_func_type&scCs”|s
|S|jt|j|j|dƒƒjƒ}|dkrftjd|d|ddgƒ‚n|j||gdƒ}tt	|d|ƒƒS(NiRRtsort_bytkey(snumbersstring(
RFRDR|R}R+RREt_create_key_funcRR‡(R1RRt
required_typetkeyfunc((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt
_func_sort_by5s%		cCs9|j|ddgdƒ}|r1t|d|ƒSdSdS(NRRtmin_byR(R‘R…R'(R1RRR“((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_min_byIs			cCs9|j|ddgdƒ}|r1t|d|ƒSdSdS(NRRtmax_byR(R‘R€R'(R1RRR“((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt_func_max_bySs			cs‡‡‡‡fd†}|S(Ncs^ˆjˆj|ƒ}t|ƒj}ˆj|ƒ}|ˆkrZtjˆ||ˆƒ‚n|S(N(R|R}RDR+RFRRE(txR~RJt
jmespath_type(RBRR2R1(s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR“^s((R1RRBR2R“((RBRR2R1s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR‘]s	cCstj|dƒS(Ntunknown(t	TYPES_MAPR7(R1tpyobject((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyRFis('R+R,R(R5R0R;R?RCRGRRYR[tTrueR]R_RgRiRlRmRpRqRsRvRxR{RRR„R†RˆR‰R‹RRŽR”R–R˜R‘RF(((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyR-CsF		
			
	#,%,,",,"&"",,
,
	(sbool(slistR(sdictR(sNoneType(sunicodesstr(sfloatsintslong(R(RtRetjmespathRtjmespath.compatRRdRRRœRNRRDRRR-(((s6/usr/lib/python2.7/site-packages/jmespath/functions.pyt<module>s8

	
Back to Directory File Manager