403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib/python3.11/site-packages/ansible/playbook/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib/python3.11/site-packages/ansible/playbook/__pycache__/block.cpython-311.opt-1.pyc
�

���c�A���ddlmZmZmZeZddlmZddl	m
Z
ddlmZm
Z
ddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlmZGd�d
eeee��ZdS)�)�absolute_import�division�print_functionN)�AnsibleParserError)�FieldAttribute�NonInheritableFieldAttribute)�Base)�Conditional)�CollectionSearch)�load_list_of_tasks)�Role)�Taggable)�Sentinelc�r��eZdZede���Zede���Zede���Zed���Z	ed���Z
ed���Zd �fd�	Zd	�Z
d
�Zd�Zd�Zed!d
���Zed���Z�fd�Zd�Zd�Zd�Zd�ZeZd�Zd"�fd�	Zd�Zd�Zd�Zd#d�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%�xZ&S)$�Block�list)�isa�default)r�string�boolNFc����||_||_d|_d|_||_||_|r||_n	|r||_t
t|�����dS�N)	�_play�_role�_parent�
_dep_chain�
_use_handlers�	_implicit�superr�__init__)�self�play�parent_block�role�task_include�use_handlers�implicit�	__class__s       ��;/usr/lib/python3.11/site-packages/ansible/playbook/block.pyr zBlock.__init__2sp�����
���
�������)���!����	(�'�D�L�L�
�	(�'�D�L�
�e�T���#�#�%�%�%�%�%�c�H�d|j�dt|���d|j�d�S)NzBLOCK(uuid=z)(id=z	)(parent=�))�_uuid�idr�r!s r)�__repr__zBlock.__repr__As'���59�Z�Z�Z��D�����4�<�<�<�X�Xr*c�"�|j|jkS�z object comparison based on _uuid�r-�r!�others  r)�__eq__zBlock.__eq__D����z�U�[�(�(r*c�"�|j|jkSr2r3r4s  r)�__ne__zBlock.__ne__Hr7r*c��i}|jr||j���z}||j���z}|S)z�
        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.
        )r�get_vars�vars�copy)r!�all_varss  r)r;zBlock.get_varsLsF�����<�	0����-�-�/�/�/�H��D�I�N�N�$�$�$���r*c��t�|��}t||||||���}	|	�|||���S)N)r"r#r$r%r&r')�variable_manager�loader)r�is_block�	load_data)
�datar"r#r$r%r&r@rAr'�bs
          r)�loadz
Block.load[sY���~�~�d�+�+�+���t�,�T�P\�kw�CK�
L�
L�
L���{�{�4�2B�6�{�R�R�Rr*c�N�d}t|t��r
dD]
}||vrd}n�|S)NF��block�rescue�alwaysT)�
isinstance�dict)�dsrB�attrs   r)rBzBlock.is_blockasG�����b�$���	�5�
�
���2�:�:�#�H��E���r*c���t�|��s�t|t��r6t	t|���t
|�����St	t|���t
|g�����St	t|���|��S)z�
        If a simple task is given, an implicit block for that single task
        is created, which goes in the main portion of the block
        )rI)rrBrLrr�preprocess_datarM)r!rNr(s  �r)rQzBlock.preprocess_dataks�����~�~�b�!�!�	L��"�d�#�#�
L��U�D�)�)�9�9�$�R�.�.�.�I�I�I��U�D�)�)�9�9�$�b�T�:J�:J�:J�K�K�K��U�D�!�!�1�1�"�5�5�5r*c
��	t||j||jd|j|j|j���S#t$r}td|j|����d}~wwxYw)N�r"rIr$r%r@rAr&z7A malformed block was encountered while loading a block��obj�orig_exc�	rrr�_variable_manager�_loaderr�AssertionErrorr�_ds�r!rOrN�es    r)�_load_blockzBlock._load_blocky���	z�%���Z���Z�!�!%�!7��|�!�/�	�	�	�	
���	z�	z�	z�$�%^�dh�dl�wx�y�y�y�y�����	z�����/2�
A�A�Ac
��	t||j||jd|j|j|j���S#t$r}td|j|����d}~wwxYw)NrSz7A malformed block was encountered while loading rescue.rTrWr\s    r)�_load_rescuezBlock._load_rescue�r_r`c
��	t||j||jd|j|j|j���S#t$r}td|j|����d}~wwxYw)NrSz6A malformed block was encountered while loading alwaysrTrWr\s    r)�_load_alwayszBlock._load_always�s���	y�%���Z���Z�!�!%�!7��|�!�/�	�	�	�	
���	y�	y�	y�$�%]�cg�ck�vw�x�x�x�x�����	y���r`c�N�|r |jstd|z|j����dSdS)Nz+'%s' keyword cannot be used without 'block')rU)rIrr[)r!rO�name�values    r)�_validate_alwayszBlock._validate_always�sK���	i���	i�$�%R�UY�%Y�_c�_g�h�h�h�h�	i�	i�	i�	ir*c�r�|j�"|jr|j���SdS|jdd�Sr)rr�
get_dep_chainr/s r)rjzBlock.get_dep_chain�s>���?�"��|�
��|�1�1�3�3�3��t��?�1�1�1�%�%r*c���d�}tt|�����}|j|_|j|_|j�|jdd�|_d|_|jr"|s |j�d���|_|sH||jpg|��|_||jpg|��|_||j	pg|��|_	d|_
|j
r|j
|_
|���|S)Nc�`�g}|D]�}|�d���}|jrm|j�d���|_|j|kr||_nA|j}|jr$|j|kr|j}|jr|j|k�||_n||_|�|����|S)NT)�exclude_parent��
exclude_tasks)r=r�append)�	task_list�	new_block�
new_task_list�task�new_task�cur_objs      r)�_dupe_task_listz#Block.copy.<locals>._dupe_task_list�s����M�!�
/�
/���9�9�D�9�9�9���<�
1�'+�|�'8�'8�t�'8�'L�'L�H�$��|�y�0�0�+4��(�(�#+�"2��%�o�6�'�/�Y�2N�2N�&-�o�G�&�o�6�'�/�Y�2N�2N�+4����'0�H�$��$�$�X�.�.�.�.� � r*Trn)rrr=rrrrrIrJrKr�validate)r!rmrorw�new_mer(s     �r)r=z
Block.copy�s���	!�	!�	!�*�u�d�#�#�(�(�*�*���z���#�1����?�&� $����� 2�F������<�	C��	C�!�\�.�.�T�.�B�B�F�N��	G�*�?�4�:�+;��V�D�D�F�L�+�O�D�K�,=�2�v�F�F�F�M�+�O�D�K�,=�2�v�F�F�F�M�����:�	&��:�F�L��������
r*c�n�t��}|jD]}|dvrt||��||<�|���|d<|j�|j���|d<|j�D|j�d������|d<|jjj	|d<|S)	z�
        Override of the default serialize method, since when we're serializing
        a task we don't want to include the attribute list of tasks.
        rH�	dep_chainNr$Trn�parent�parent_type)
rM�fattributes�getattrrjr�	serializerr=r(�__name__)r!rDrOs   r)r�zBlock.serialize�s����v�v���$�	1�	1�D��8�8�8�$�T�4�0�0��T�
�� �.�.�0�0��[���:�!��:�/�/�1�1�D��L��<�#�!�\�.�.�T�.�B�B�L�L�N�N�D��N�"&�,�"8�"A�D����r*c�~�ddlm}ddlm}|jD].}||vr(|dvr$t|||�|�����/|�dd��|_|�d��}|r*t��}|�	|��||_
|�d��}|r�|�d	��}|d
krt��}	n!|dkr|��}	n|dkr
|��}	|	�	|��|	|_|j�
��|_dSdS)
zt
        Override of the default deserialize method, to match the above overridden
        serialize method
        r��TaskInclude)�HandlerTaskIncluderHr{Nr$r|r}rr�r�)�ansible.playbook.task_includer��%ansible.playbook.handler_task_includer�r~�setattr�getrr
�deserializerrrrj)
r!rDr�r�rO�	role_data�r�parent_datar}�ps
          r)r�zBlock.deserialize�sm��	>�=�=�=�=�=�L�L�L�L�L�L��$�	4�	4�D��t�|�|��,I� I� I���d�D�H�H�T�N�N�3�3�3���(�(�;��5�5����H�H�V�$�$�	��	����A�
�M�M�)�$�$�$��D�J��h�h�x�(�(���
	;��(�(�=�1�1�K��g�%�%��G�G����
�-�-��K�M�M���� 4�4�4�&�&�(�(��
�M�M�+�&�&�&��D�L�"�l�8�8�:�:�D�O�O�O�
	;�
	;r*c��||_|jr|j�|��n!|jr|j�|��|���}|r|D]}|�|���dSdSr)rYr�
set_loaderrrj)r!rAr{�deps    r)r�zBlock.set_loaders�������<�	*��L�#�#�F�+�+�+�+�
�Z�	*��J�!�!�&�)�)�)��&�&�(�(�	��	'� �
'�
'�����v�&�&�&�&�	'�	'�
'�
'r*c��|j|}|j}|j}	|rt}nt	|d|��t��}t	|jdd��r|j}n|jj}|r�|tus|r~	t	|dd��r[t
|d��r|�|��}nt	|d|��t��}|r|�|||��}n|}n#t$rYnwxYw|j
r�|tus|r�	t	|j
d|��t��}|r|�|||��}n|}|���}	|	rf|tus|r[|	���|	D]D}
t	|
d|��t��}|r|�|||��}n|}|tur|sn�En#t$rYnwxYw|j
r`|tus|rU	t	|j
d|��t��}|tur|r|�|||��}n|}n#t$rYnwxYwn#t$rYnwxYw|S)z[
        Generic logic to get the attribute or parent attribute for a block value.
        �_�statically_loadedT�_get_parent_attribute)r~�extend�prependrrr�hasattrr��
_extend_value�AttributeErrorrrj�reverser�KeyError)
r!rO�omit�fattrr�r�rgr�parent_valuer{r��	dep_value�
play_values
             r)r�zBlock._get_parent_attribute)s���� ��&������-��<	��
<� �����j�$�j�j�(�;�;���t�|�%8�$�?�?�
/��,����,�.���
�E�X�-�-��-���w�(;�T�B�B�1�"�7�,C�D�D�R�+2�+H�+H��+N�+N�L�L�+2�7�J��J�J��+Q�+Q�L�!�1�$(�$6�$6�u�l�G�$T�$T�E�E�$0�E���%�����D������z�
�u��0�0�F�0��#*�4�:�z�4�z�z�8�#L�#L�L��-� $� 2� 2�5�,�� P� P��� ,�� $� 2� 2� 4� 4�I� �
&�e�x�&7�&7�6�&7�!�)�)�+�+�+�#,�&�&�C�(/��Z��Z�Z��(J�(J�I�%�2�(,�(:�(:�5�)�W�(U�(U���(1��$�H�4�4�V�4� %�����%�����D������z�	
�u��0�0�F�0��!(���Z��Z�Z��!J�!J�J�!��1�1�!�/�$(�$6�$6�u�j�'�$R�$R�E�E�$.�E���%�����D��������	�	�	��D�	�����s��AH7�8A,C%�$H7�%
C2�/H7�1C2�2H7�B6F?�>H7�?
G�	H7�G�H7�"AH&�%H7�&
H3�0H7�2H3�3H7�7
I�Ic�8��������fd���fd������S)zR
        Creates a new block, with task lists filtered based on the tags.
        c����g}|D]�}t|t��r5�|��}|���r|�|���L|jt
jvr|jsa|jt
jvr"|�	g�j
j����s,|�	�j
j�j
j����r|�|����|S)N)r>)
rLr�	has_tasksrp�action�C�_ACTION_METAr'�_ACTION_INCLUDE�
evaluate_tagsr�	skip_tags�	only_tags)�target�tmp_listrt�filtered_blockr>�evaluate_blockr!s    ���r)�evaluate_and_append_taskz;Block.filter_tagged_tasks.<locals>.evaluate_and_append_taskws�����H��
*�
*���d�E�*�*�*�%3�^�D�%9�%9�N�%�/�/�1�1�8� ����7�7�7���{�a�n�4�4���4����(9�9�9�d�>P�>P�QS�UY�U_�Ui�t|�>P�>}�>}�9��*�*�4�:�+?���AU�`h�*�i�i�:��O�O�D�)�)�)���Or*c����|�dd���}|j|_�|j��|_�|j��|_�|j��|_|S)NT)rmro)r=rrIrJrK)rIrrr�s  �r)r�z1Block.filter_tagged_tasks.<locals>.evaluate_block�sf����
�
�$�d�
�K�K�I� %�
�I��6�6�u�{�C�C�I�O�7�7���E�E�I��7�7���E�E�I���r*�)r!r>r�r�s``@@r)�filter_tagged_taskszBlock.filter_tagged_tasksrsT������
	�	�	�	�	�	�	�	�	�	�	�	��~�d�#�#�#r*c�0����fd���fd���|��S)Nc���g}|D]K}t|t��r|��|�����6|�|���L|Sr)rLrr�rp)r�r�rtr�s   �r)r�z1Block.get_tasks.<locals>.evaluate_and_append_task�sb����H��
*�
*���d�E�*�*�*��O�O�N�N�4�$8�$8�9�9�9�9��O�O�D�)�)�)�)��Or*c����|j��}|��|j����|��|j����|Sr)rIr�rJrK)rI�rvr�s  �r)r�z'Block.get_tasks.<locals>.evaluate_block�sZ���)�)�%�+�6�6�B��I�I�.�.�u�|�<�<�=�=�=��I�I�.�.�u�|�<�<�=�=�=��Ir*r�)r!r�r�s @@r)�	get_taskszBlock.get_tasks�sH����	�	�	�	�	�	�	�	�	�	��~�d�#�#�#r*c��t|j��dkp/t|j��dkpt|j��dkS)Nr)�lenrIrJrKr/s r)r�zBlock.has_tasks�s>���4�:����"�R�c�$�+�&6�&6��&:�R�c�$�+�>N�>N�QR�>R�Rr*c�^�|jr|j���St��Sr)r�get_include_paramsrMr/s r)r�zBlock.get_include_params�s)���<�	��<�2�2�4�4�4��6�6�Mr*c��ddlm}|jr<t|j|��r|jjsdS|j���SdS)a7
        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.
        rr�FT)r�r�rrLr��all_parents_static�r!r�s  r)r�zBlock.all_parents_static�s^��	>�=�=�=�=�=��<�	5��$�,��4�4�
�T�\�=[�
��u��<�2�2�4�4�4��tr*c��ddlm}|jr5t|j|��r|jS|j���SdS)Nrr�)r�r�rrL�get_first_parent_includer�s  r)r�zBlock.get_first_parent_include�sS��=�=�=�=�=�=��<�	;��$�,��4�4�
$��|�#��<�8�8�:�:�:��tr*)NNNNFF)NNNNFNN)FF)F)'r��
__module__�__qualname__rrrIrJrKr�notify�delegate_to�delegate_factsr r0r6r9r;�staticmethodrFrBrQr^rbrdrh�_validate_rescuerjr=r�r�r�r�r�r�r�r�r�r��
__classcell__)r(s@r)rr"so�������
)�(�V�T�B�B�B�E�
)�
)�f�d�
C�
C�
C�F�
)�
)�f�d�
C�
C�
C�F��^��
'�
'�
'�F� �.�X�.�.�.�K�#�^��/�/�/�N�
&�
&�
&�
&�
&�
&�Y�Y�Y�)�)�)�)�)�)�
�
�
��S�S�S��\�S�
����\��6�6�6�6�6�
z�
z�
z�
z�
z�
z�
y�
y�
y�i�i�i�(��&�&�&�+�+�+�+�+�+�Z���*$;�$;�$;�L
'�
'�
'�G�G�G�G�R$�$�$�8$�$�$�$S�S�S����
�
�
�������r*r)�
__future__rrr�type�
__metaclass__�ansible.constants�	constantsr��ansible.errorsr�ansible.playbook.attributerr�ansible.playbook.baser	�ansible.playbook.conditionalr
�!ansible.playbook.collectionsearchr�ansible.playbook.helpersr�ansible.playbook.roler
�ansible.playbook.taggabler�ansible.utils.sentinelrrr�r*r)�<module>r�s*��&C�B�B�B�B�B�B�B�B�B��
�������-�-�-�-�-�-�S�S�S�S�S�S�S�S�&�&�&�&�&�&�4�4�4�4�4�4�>�>�>�>�>�>�7�7�7�7�7�7�&�&�&�&�&�&�.�.�.�.�.�.�+�+�+�+�+�+�\�\�\�\�\�D�+�/��\�\�\�\�\r*

Youez - 2016 - github.com/yon3zu
LinuXploit