Anons79 Mini Shell

Directory : /proc/self/root/lib/python2.7/site-packages/ansible/playbook/
Upload File :
Current File : //proc/self/root/lib/python2.7/site-packages/ansible/playbook/block.pyc

�
�Udac@`s�ddlmZmZmZeZddljZddl	m
Z
ddlmZddl
mZddlmZddlmZddlmZdd	lmZdd
lmZddlmZdeeeefd
��YZdS(i(tabsolute_importtdivisiontprint_functionN(tAnsibleParserError(tFieldAttribute(tBase(tConditional(tCollectionSearch(tload_list_of_tasks(tRole(tTaggable(tSentineltBlockc	B`s�eZedddede�Zedddede�Zedddede�Zedd�Zedd�Z	ddddeed�Zd�Zd�Z
d	�Zd
�Zeddddeddd��Zed��Zd
�Zd�Zd�Zd�Zd�ZeZd�Zeed�Zd�Zd�Zd�Zeed�Zd�Zd�Z d�Z!d�Z"d�Z#RS(tisatlisttdefaulttinherittstringtboolcC`sz||_||_d|_d|_||_||_t|_|rQ||_n|rc||_nt	t
|�j�dS(N(t_playt_roletNonet_parentt
_dep_chaint
_use_handlerst	_implicittFalset_eortsuperRt__init__(tselftplaytparent_blocktrolettask_includetuse_handlerstimplicit((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR1s							cC`sd|jt|�|jfS(Ns BLOCK(uuid=%s)(id=%s)(parent=%s)(t_uuidtidR(R((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt__repr__CscC`s|j|jkS(s object comparison based on _uuid(R%(Rtother((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt__eq__FscC`s|j|jkS(s object comparison based on _uuid(R%(RR(((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt__ne__JscC`s5|jj�}|jr1|j|jj��n|S(s�
        Blocks do not store variables directly, however they may be a member
        of a role or task include which does, so return those if present.
        (tvarstcopyRtupdatetget_vars(Rtall_vars((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR.Ns	c

C`sVtj|�}td|d|d|d|d|d|�}	|	j|d|d|�S(	NRR R!R"R#R$tvariable_managertloader(Rtis_blockt	load_data(
tdataRR R!R"R#R0R1R$tb((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pytload[s-cC`sCt}t|t�r?x'dD]}||krt}PqqWn|S(Ntblocktrescuetalways(sblocksrescuesalways(Rt
isinstancetdicttTrue(tdsR2tattr((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR2as
cC`sxtj|�sbt|t�r=tt|�jtd|��Stt|�jtd|g��Sntt|�j|�S(s�
        If a simple task is given, an implicit block for that single task
        is created, which goes in the main portion of the block
        R7(RR2R:RRtpreprocess_dataR;(RR=((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR?ks
%cC`s|yGt|d|jd|d|jddd|jd|jd|j�SWn.tk
rw}tdd	|j	d
|��nXdS(NRR7R!R"R0R1R#s7A malformed block was encountered while loading a blocktobjtorig_exc(
RRRRt_variable_managert_loaderRtAssertionErrorRt_ds(RR>R=te((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt_load_blockys				cC`s|yGt|d|jd|d|jddd|jd|jd|j�SWn.tk
rw}tdd	|j	d
|��nXdS(NRR7R!R"R0R1R#s7A malformed block was encountered while loading rescue.R@RA(
RRRRRBRCRRDRRE(RR>R=RF((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt_load_rescue�s				cC`s|yGt|d|jd|d|jddd|jd|jd|j�SWn.tk
rw}tdd	|j	d
|��nXdS(NRR7R!R"R0R1R#s6A malformed block was encountered while loading alwaysR@RA(
RRRRRBRCRRDRRE(RR>R=RF((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt_load_always�s				cC`s0|r,|jr,td|d|j��ndS(Ns+'%s' keyword cannot be used without 'block'R@(R7RRE(RR>tnametvalue((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt_validate_always�scC`s8|jdkr,|jr%|jj�SdSn|jSdS(N(RRRt
get_dep_chain(R((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRM�s
	
cC`sd�}tt|�j�}|j|_|j|_|j|_|jdk	ra|j|_nd|_|jr�|r�|jjdt	�|_n|s�||j
p�g|�|_
||jp�g|�|_||jp�g|�|_nd|_
|j
r|j
|_
n|j�|S(NcS`s�g}x�|D]�}|jdt�}|jr�|jjdt�|_|j|kra||_q�|j}x%|jr�|j|kr�|j}qmW||_n	||_|j|�q
W|S(Ntexclude_parentt
exclude_tasks(R,R<Rtappend(t	task_listt	new_blockt
new_task_listttasktnew_tasktcur_obj((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt_dupe_task_list�s
		
	RO(RRR,RRRRRRR<R7R8R9Rtvalidate(RRNRORWtnew_me((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR,�s&				
cC`s�t�}x3|jD](}|d
krt||�||<qqW|j�|d<|j|d<|jdk	r�|jj�|d<n|jdk	r�|jj	dt
�j�|d<|jjj|d	<n|S(s�
        Override of the default serialize method, since when we're serializing
        a task we don't want to include the attribute list of tasks.
        R7R8R9t	dep_chainteorR!ROtparenttparent_type(sblocksrescuesalwaysN(
R;t_valid_attrstgetattrRMRRRt	serializeRR,R<t	__class__t__name__(RR4R>((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR`�s	
c
C`sdddlm}ddlm}xE|jD]:}||kr*|dkr*t|||j|��q*q*W|jdd�|_|jdt	�|_
|jd	�}|r�t�}|j|�||_
n|jd
�}|r`|jd�}|dkrt�}	n0|d
kr|�}	n|dkr5|�}	n|	j|�|	|_|jj�|_ndS(st
        Override of the default deserialize method, to match the above overridden
        serialize method
        i(tTaskInclude(tHandlerTaskIncludeR7R8R9RZR[R!R\R]RRcRdN(sblocksrescuesalways(tansible.playbook.task_includeRct%ansible.playbook.handler_task_includeRdR^tsetattrtgetRRRRR	tdeserializeRRRRM(
RR4RcRdR>t	role_datatrtparent_dataR]tp((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRi�s0 	

	cC`sx||_|jr%|jj|�n|jrA|jj|�n|j�}|rtx|D]}|j|�qZWndS(N(RCRt
set_loaderRRM(RR1RZtdep((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRn s			
c
C`s�|j|j}|j|j}ye|j|}t|jdt�rQ|j}n|jj}|r�|tksu|r�yst|dt�r�t|d�r�|j	|�}n|jj
|t�}|r�|j|||�}q�|}nWq�tk
r�q�Xn|j
r|tks|ry�|j
jj
|t�}|rS|j|||�}n|}|j�}|r�|tks}|r�|j�xa|D]V}|jj
|t�}	|r�|j||	|�}n|	}|tk	r�|r�Pq�q�WnWqtk
r�qXn|jr�|tks|r�yO|jjj
|t�}
|
tk	rl|rc|j||
|�}ql|
}nWq�tk
r�q�XnWntk
r�nX|S(s[
        Generic logic to get the attribute or parent attribute for a block value.
        tstatically_loadedt_get_parent_attribute(R^textendtprependt_attributesR_RR<RthasattrRqRht
_extend_valuetAttributeErrorRRMtreverseRtKeyError(RR>RrRsRKRtparent_valueRZRot	dep_valuet
play_value((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyRq,s`








c`s1���fd����fd�����S(sR
        Creates a new block, with task lists filtered based on the tags.
        c	`s�g}x�|D]�}t|t�rM�|�}|j�r�|j|�q�q
|jtjks�|jtjkr�|jg�j	j
d��s�|j�j	j�j	j
d��r
|j|�q
q
W|S(NR/(R:Rt	has_tasksRPtactiontCt_ACTION_METAt_ACTION_INCLUDEt
evaluate_tagsRt	skip_tagst	only_tags(ttargetttmp_listRTtfiltered_block(R/tevaluate_blockR(s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pytevaluate_and_append_taskss
0$c`sL�jdt�}�|j�|_�|j�|_�|j�|_|S(NRO(R,R<R7R8R9(R7RR(R�R(s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR��s
((RR/((R/R�R�Rs:/usr/lib/python2.7/site-packages/ansible/playbook/block.pytfilter_tagged_tasksns
cC`s=t|j�dkp<t|j�dkp<t|j�dkS(Ni(tlenR7R8R9(R((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR}�scC`s!|jr|jj�St�SdS(N(Rtget_include_paramsR;(R((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR��s	
cC`sMddlm}|jrIt|j|�r<|jjr<tS|jj�StS(s7
        Determine if all of the parents of this block were statically loaded
        or not. Since Task/TaskInclude objects may be in the chain, they simply
        call their parents all_parents_static() method. Only Block objects in
        the chain check the statically_loaded value of the parent.
        i(Rc(ReRcRR:RpRtall_parents_staticR<(RRc((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR��s	
cC`sCddlm}|jr?t|j|�r2|jS|jj�SdS(Ni(Rc(ReRcRR:tget_first_parent_includeR(RRc((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR��s	
N($Rbt
__module__RRRt_blockt_rescuet_alwayst_delegate_tot_delegate_factsRRR'R)R*R.tstaticmethodR6R2R?RGRHRIRLt_validate_rescueRMR,R`RiRnRqR�R}R�R�R�(((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyR"s<				
!
							.		'	B				(t
__future__RRRttypet
__metaclass__tansible.constantst	constantsRtansible.errorsRtansible.playbook.attributeRtansible.playbook.baseRtansible.playbook.conditionalRt!ansible.playbook.collectionsearchRtansible.playbook.helpersRtansible.playbook.roleR	tansible.playbook.taggableR
tansible.utils.sentinelRR(((s:/usr/lib/python2.7/site-packages/ansible/playbook/block.pyt<module>s

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