Your IP : 216.73.216.213


Current Path : /opt/alt/python27/lib64/python2.7/site-packages/wrapt/
Upload File :
Current File : //opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyc

�
���Xc@s�dZddlZejddkZejddkZerhefZddlZeed�Z	[ne
fZddd�Z	ddlm
Z
dd	lmZmZmZdd
lmZddlmZmZyddlmZWnek
r�nXd
dlmZmZmZmZdefd��YZdefd��YZdefd��YZ defd��YZ!de"fd��YZ#de#fd��YZ$e$Z%dddd�Z&d�Z'dS(soThis module implements decorators for implementing other decorators
as well as some commonly used decorators.

i����NiiitexeccBsc|dkrBejd�}|j}|dkr<|j}n~n|dkrW|}nddUdS(sExecute code in a namespace.isexec _code_ in _globs_, _locs_N(tNonetsyst	_getframet	f_globalstf_locals(t_code_t_globs_t_locs_tframe((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pytexec_s		(tpartial(tismethodtisclasst
formatargspec(t
namedtuple(tLocktRLock(t	signaturei(tFunctionWrappertBoundFunctionWrappertObjectProxytCallableObjectProxyt_AdapterFunctionCodecBs\eZd�Zed��Zed��Zed��Zed��Zed��ZRS(cCs#tt|�j|�||_dS(N(tsuperRt__init__t_self_adapter_code(tselftwrapped_codetadapter_code((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR6scCs
|jjS(N(Rtco_argcount(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR:scCs
|jjS(N(Rtco_code(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR>scCs
|jjS(N(Rtco_flags(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR BscCs
|jjS(N(Rtco_kwonlyargcount(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR!FscCs
|jjS(N(Rtco_varnames(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR"Js(	t__name__t
__module__RtpropertyRRR R!R"(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR4s	t_AdapterFunctionSurrogatecBsbeZd�Zed��Zed��Zed��Zed��Zer`eZ	eZ
nRS(cCs#tt|�j|�||_dS(N(RR&Rt
_self_adapter(Rtwrappedtadapter((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyRPscCst|jj|jj�S(N(Rt__wrapped__t__code__R'(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR+TscCs
|jjS(N(R't__defaults__(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR,YscCs
|jjS(N(R't__kwdefaults__(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR-]scCs*dt�kr|jjSt|j�SdS(NR(tglobalsR't
__signature__R(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR/as
(R#R$RR%R+R,R-R/tPY2t	func_codet
func_defaults(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR&Ns	t_BoundAdapterWrappercBs&eZed��Zer$eZnRS(cCst|jj|jj�S(N(R&R*t__func__t_self_parentR'(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR4ss(R#R$R%R4R0tim_func(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR3qstAdapterWrappercBsheZeZd�Zed��Zed��Zed��Ze	rWeZ
eZned��ZRS(cOsJ|jd�}tt|�j||�t|j|�|_||_dS(NR)(tpopRR7RR&R*t_self_surrogateR'(RtargstkwargsR)((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyRs
cCs
|jjS(N(R9R+(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR+�scCs
|jjS(N(R9R,(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR,�scCs
|jjS(N(R9R-(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR-�scCs
|jjS(N(R9R/(R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR/�s(
R#R$R3t__bound_function_wrapper__RR%R+R,R-R0R1R2R/(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR7{s		tAdapterFactorycBseZd�ZRS(cCs
t��dS(N(tNotImplementedError(RR(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt__call__�s(R#R$R?(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR=�stDelegatedAdapterFactorycBseZd�Zd�ZRS(cCs tt|�j�||_dS(N(RR@Rtfactory(RRA((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR�scCs
|j|�S(N(RA(RR(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR?�s(R#R$RR?(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR@�s	csZ�dk	r@ddd������fd�}��|�Sttd�d��SdS(Nc	Ss�|r�t|t�r$||�}nt|�szi}t|t�sTt|�}ntdj|�||�|d}ntd|d|d|d|�Std|d|d|�S(Nsdef adapter{0}: passR)R(twrappertenabled(	t
isinstanceR=tcallabletstring_typesRR
tformatR7R(R(RBRCR)tns((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt_build�s

cs�|dkr>t��r>|r>�����fd�}|S|d}�}t|�tkrs|sj|Sd}n|dkr�t��r���}q��}n9t|�r��jd|�}n�j|t|��}�|||��S(NcsJ�}t|�tkr+|s"|Sd}n���}�|||��S(N(ttypetboolR(ttarget_wrappedt_enabledttarget_wrapper(RIR)RCR;R((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt_capture�s		i(RR
RJRKt__get__(R(tinstanceR:R;RORLRMRN(RIR)RCRB(R;R(sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt_wrapper�s"
		RCR)(RRt	decorator(RBRCR)RR((RIR)RCRBsC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyRS�s
�
cs�t|d�rbt|d�rb|�t�fd��}dtf�fd��Y}|d|�Sd���fd�}d	tf�fd
��Y}|d|d|�S(Ntacquiretreleasecs��|||�SWdQXdS(N((R(RQR:R;(tlock(sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt
_synchronized�st_PartialDecoratorcs&eZ�fd�Z�fd�ZRS(cs�j��S(N(RT(R(RV(sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt	__enter__�s
cs�j�dS(N(RU(RR:(RV(sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt__exit__�s(R#R$RYRZ((RV(sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyRX�sR(cSs�t|�jdd�}|dkr�tt�jdt��}|�Et|�jdd�}|dkr�t�}t|d|�nWdQXn|S(Nt_synchronized_lockt_synchronized_meta_lock(tvarstgetRtsynchronizedt
setdefaultRRtsetattr(tcontextRVt	meta_lock((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR[�s
	cs*�|p|��|||�SWdQXdS(N((R(RQR:R;(R[(sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt_synchronized_wrapper�st_FinalDecoratorcs eZ�fd�Zd�ZRS(cs&�|j�|_|jj�|jS(N(R*t
_self_lockRT(R(R[(sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyRY�s
cWs|jj�dS(N(RfRU(RR:((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyRZ�s(R#R$RYRZ((R[(sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyRe�sRB(thasattrRSRR(R(RWRXRdRe((R[RVsC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyR_�s	
	#
((t__doc__Rtversion_infoR0tPY3tstrRFtbuiltinstgetattrR
t
basestringRt	functoolsRtinspectRR
RtcollectionsRt	threadingRRRtImportErrortwrappersRRRRRR&R3R7tobjectR=R@tadapter_factoryRSR_(((sC/opt/alt/python27/lib64/python2.7/site-packages/wrapt/decorators.pyt<module>s8		
"	#
	�