Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/template/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/template/vars.pyo

�
�Udac@`s�ddlmZmZmZeZddlmZddlm	Z	m
Z
ddlmZddl
mZddlmZdgZdefd��YZd	S(
i(tabsolute_importtdivisiontprint_function(tmissing(tAnsibleErrortAnsibleUndefinedVariable(t	iteritems(t	to_native(tMappingt
AnsibleJ2VarscB`sGeZdZdd�Zd�Zd�Zd�Zd�Zd�Z	RS(s�
    Helper class to template all variable content before jinja2 sees it. This is
    done by hijacking the variable storage that jinja2 uses, and overriding __contains__
    and __getitem__ to look like a dict. Added bonus is avoiding duplicating the large
    hashes that inject tends to be.

    To facilitate using builtin jinja2 things like range, globals are also handled here.
    cC`s�||_||_t�|_t|t�r�xlt|�D][\}}|tk	r:|d dkrv||j|d<q�|dkr�||j|<q�q:q:WndS(s�
        Initializes this object with a valid Templar() object, as
        well as several dictionaries of variables representing
        different scopes (in jinja2 terminology).
        itl_tcontexttenvironmentttemplateN(RRstemplate(t_templart_globalstdictt_localst
isinstanceRR(tselfttemplartglobalstlocalstkeytval((s9/usr/lib/python2.7/site-packages/ansible/template/vars.pyt__init__+s		cC`s@||jkrtS||jjkr)tS||jkr<tStS(N(RtTrueRtavailable_variablesRtFalse(Rtk((s9/usr/lib/python2.7/site-packages/ansible/template/vars.pyt__contains__=scC`s2t�}|j|jj|j|j�t|�S(N(tsettupdateRRRRtiter(Rtkeys((s9/usr/lib/python2.7/site-packages/ansible/template/vars.pyt__iter__Fs	cC`s2t�}|j|jj|j|j�t|�S(N(RR RRRRtlen(RR"((s9/usr/lib/python2.7/site-packages/ansible/template/vars.pyt__len__Ks	c	C`sd||jkr|j|S||jjkr?|jj|}n*||jkrY|j|Std|��ddlm}t|t�r�|dks�t||�s�t	|d�r�|Sd}y|jj|�}Wn�tk
r}tdt
|�|jf��nVtk
r[}t|dd�p0t
|�}tdt
|�t|�|f��nX|SdS(	Nsundefined variable: %si(tHostVarstvarst
__UNSAFE__s%s: %stmessages[An unhandled exception occurred while templating '%s'. Error was a %s, original message: %s(RRRRtKeyErrortansible.vars.hostvarsR&RRthasattrtNoneR
RRR)t	ExceptiontgetattrRttype(RtvarnametvariableR&tvaluetetmsg((s9/usr/lib/python2.7/site-packages/ansible/template/vars.pyt__getitem__Ps(9"#cC`sE|dkr|S|jj�}|j|�t|j|jd|�S(s�
        If locals are provided, create a copy of self containing those
        locals in addition to what is already in this variable proxy.
        RN(R-RtcopyR R	RR(RRt
new_locals((s9/usr/lib/python2.7/site-packages/ansible/template/vars.pyt
add_localsls

N(
t__name__t
__module__t__doc__R-RRR#R%R6R9(((s9/usr/lib/python2.7/site-packages/ansible/template/vars.pyR	!s					N(t
__future__RRRR0t
__metaclass__tjinja2.utilsRtansible.errorsRRtansible.module_utils.sixRtansible.module_utils._textRt/ansible.module_utils.common._collections_compatRt__all__R	(((s9/usr/lib/python2.7/site-packages/ansible/template/vars.pyt<module>s	

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]