%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/salt/utils/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/salt/utils/context.pyo

�
���^c@@s�dZddlmZmZmZddlZddlZyddlmZWn!e	k
rqddl
mZnXddlmZddl
mZed��Zdefd	��YZd
efd��YZdeefd
��YZdS(u�
    :codeauthor: Pedro Algarvio (pedro@algarvio.me)
    :codeauthor: Thomas Jackson (jacksontj.89@gmail.com)


    salt.utils.context
    ~~~~~~~~~~~~~~~~~~

    Context managers used throughout Salt's source code.
i(tabsolute_importtprint_functiontunicode_literalsN(tMutableMapping(tcontextmanager(tsixck@s�t|d�r|j}n|j}g}i}x8|D]0}||krZ||||<q7|j|�q7W|j|�dV|j|�x|D]
}||=q�WdS(uI
    Override specific variables within a function's global context.
    uim_funcN(thasattrt__func__t__globals__tappendtupdate(tfunct	overridestfunc_globalstinjected_func_globalstoverridden_func_globalstoverridetinjected((s6/usr/lib/python2.7/site-packages/salt/utils/context.pytfunc_globals_injects	



tContextDictcB@sqeZdZed�Zed��Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	�Z
d
�ZRS(u�
    A context manager that saves some per-thread state globally.
    Intended for use with Tornado's StackContext.

    Provide arbitrary data as kwargs upon creation,
    then allow any children to override the values of the parent.
    cK@s1tj�|_d|j_i|_||_dS(N(t	threadingtlocalt_statetNonetdatatglobal_datat_threadsafe(tselft
threadsafeR((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__init__Is	cC@s-y|jjdk	SWntk
r(tSXdS(u�Determine if this ContextDict is currently overridden
        Since the ContextDict can be overridden in each thread, we check whether
        the _state.data is set or not.
        N(RRRtAttributeErrortFalse(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pytactiveSs
cK@s"td|d|jd|�}|S(uE
        Clone this context, and return the ChildContextDict
        tparentRR(tChildContextDictR(Rtkwargstchild((s6/usr/lib/python2.7/site-packages/salt/utils/context.pytclone_scC@s-|jr||jj|<n
||j|<dS(N(R RRR(Rtkeytval((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__setitem__fs	cC@s'|jr|jj|=n
|j|=dS(N(R RRR(RR&((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__delitem__ls	cC@s&|jr|jj|S|j|SdS(N(R RRR(RR&((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__getitem__rs	cC@s*|jrt|jj�St|j�SdS(N(R tlenRRR(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__len__xs	cC@s*|jrt|jj�St|j�SdS(N(R titerRRR(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__iter__~s	cC@sUt|�d|j�}|jr<tj|jj�|_ntj|j�|_|S(NR(ttypeRR tcopyRRR(Rtnew_obj((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__copy__�s
	cC@s[t|�d|j�}|jr?tj|jj|�|_ntj|j|�|_|S(NR(R/RR R0tdeepcopyRRR(RtmemoR1((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__deepcopy__�s
	(t__name__t
__module__t__doc__RRtpropertyR R%R(R)R*R,R.R2R5(((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR@s
							R"cB@s\eZdZd	ed�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�ZRS(
u*An overrideable child of ContextDict

    cC@s�||_|dkrin||_d|_|r�x�tj|jj�D]4\}}||jkrItj|�|j|<qIqIWnExBtj|jj�D]+\}}||jkr�||j|<q�q�WdS(N(	R!Rt_datat	_old_dataRt	iteritemsRR0R3(RR!RRtktv((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR�s		" "cC@s||j|<dS(N(R:(RR&R'((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR(�scC@s|j|=dS(N(R:(RR&((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR)�scC@s|j|S(N(R:(RR&((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR*�scC@s
t|j�S(N(R+R:(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR,�scC@s
t|j�S(N(R-R:(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR.�scC@s@t|jjd�r*|jjj|_n|j|jj_dS(Nudata(RR!RRR;R:(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt	__enter__�scG@s|j|jj_dS(N(R;R!RR(Rtexc((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__exit__�sN(
R6R7R8RRRR(R)R*R,R.R?RA(((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR"�s						tNamespacedDictWrappercB@steZdZdd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�ZRS(
u�
    Create a dict which wraps another dict with a specific prefix of key(s)

    MUST inherit from dict to serialize through msgpack correctly
    cC@s�||_t|tj�r*|f|_n	||_|dk	rdddl}|jjj	dd�nt
t|�j|j
��dS(NiuNeonuOverriding the class name is no longer supported. Please remove the override_name argument before it is removed in Salt Sodium.(t_NamespacedDictWrapper__dictt
isinstanceRtstring_typestpre_keysRtsalt.utils.versionstutilstversionst
warn_untiltsuperRBRt_dict(RtdRFt
override_nametsalt((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR�s		
cC@s+|j}x|jD]}||}qW|S(N(RCRF(RtrR=((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyRL�s	cC@st|j��S(N(treprRL(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt__repr__�scC@s||j�|<dS(N(RL(RR&R'((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR(�scC@s|j�|=dS(N(RL(RR&((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR)�scC@s|j�|S(N(RL(RR&((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR*�scC@st|j��S(N(R+RL(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR,�scC@st|j��S(N(R-RL(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR.�scC@s+t|�tj|j�tj|j��S(N(R/R0RCRF(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR2�scC@s1t|�tj|j|�tj|j|��S(N(R/R0R3RCRF(RR4((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyR5�scC@s|j�j�S(N(RLt__str__(R((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyRS�sN(R6R7R8RRRLRRR(R)R*R,R.R2R5RS(((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyRB�s									(R8t
__future__RRRR0Rtcollections.abcRtImportErrortcollectionst
contextlibRtsalt.extRRRR"tdictRB(((s6/usr/lib/python2.7/site-packages/salt/utils/context.pyt<module>s
%U0

Zerion Mini Shell 1.0