
    Vh                    ~    d dl mZ d dlmZ d dlmZ  G d d      Z G d de      Z ee       G d d	e	             Z
y
)    )annotations)to_text)add_metaclassc                  *    e Zd Zd Zd Zd Zd Zd Zy)_EventSourcec                "    t               | _        y N)set	_handlers)selfs    b/home/dcms/DCMS/lib/python3.12/site-packages/ansible/utils/collection_loader/_collection_config.py__init__z_EventSource.__init__   s        c                h    t        |      st        d      | j                  j                  |       | S )Nzhandler must be callable)callable
ValueErrorr   addr   handlers     r   __iadd__z_EventSource.__iadd__   s-     7887#r   c                ^    	 | j                   j                  |       | S # t        $ r Y | S w xY wr	   )r   removeKeyErrorr   s     r   __isub__z_EventSource.__isub__   s9    	NN!!'*   		s    	,,c                     y)NT )r   r   excargskwargss        r   _on_exceptionz_EventSource._on_exception   s    r   c                    | j                   D ]  }	  ||i |  y # t        $ r"} | j                  ||g|i |r Y d }~5d }~ww xY wr	   )r   	Exceptionr    )r   r   r   hexs        r   firez_EventSource.fire#   s]     	A4"6"	  %4%%a=d=f= >s   	AAAN)__name__
__module____qualname__r   r   r   r    r%   r   r   r   r   r      s    r   r   c                      e Zd Zd Zed        Zej                  d        Zed        Zed        Zej                  d        Zed        Z	e	j                  d        Z	ed	        Z
e
j                  d
        Z
d Zy)_AnsibleCollectionConfigc                >    d | _         d | _        t               | _        y r	   )_collection_finder_default_collectionr   _on_collection_load)clsmetanamebasess       r   r   z!_AnsibleCollectionConfig.__init__-   s    !%"&"..r   c                    | j                   S r	   )r,   r/   s    r   collection_finderz*_AnsibleCollectionConfig.collection_finder2   s    %%%r   c                @    | j                   rt        d      || _         y )Nz6an AnsibleCollectionFinder has already been configured)r,   r   r/   values     r   r5   z*_AnsibleCollectionConfig.collection_finder6   s    !!UVV!&r   c                    | j                          | j                  j                  D cg c]  }t        |       c}S c c}w r	   )_require_finderr,   _n_collection_pathsr   r/   ps     r   collection_pathsz)_AnsibleCollectionConfig.collection_paths=   s2    $'$:$:$N$NOq
OOO   >c                    | j                   S r	   r-   r4   s    r   default_collectionz+_AnsibleCollectionConfig.default_collectionB       &&&r   c                    || _         y r	   rA   r7   s     r   rB   z+_AnsibleCollectionConfig.default_collectionF   s     #(r   c                    | j                   S r	   )r.   r4   s    r   on_collection_loadz+_AnsibleCollectionConfig.on_collection_loadK   rC   r   c                6    || j                   urt        d      y )Nz4on_collection_load is not directly settable (use +=))r.   r   r7   s     r   rF   z+_AnsibleCollectionConfig.on_collection_loadO   s!    ///STT 0r   c                    | j                          | j                  j                  D cg c]  }t        |       c}S c c}w r	   )r:   r,   _n_playbook_pathsr   r<   s     r   playbook_pathsz'_AnsibleCollectionConfig.playbook_pathsT   s2    $'$:$:$L$LMq
MMMr?   c                Z    | j                          | j                  j                  |       y r	   )r:   r,   set_playbook_pathsr7   s     r   rJ   z'_AnsibleCollectionConfig.playbook_pathsY   s"    11%8r   c                2    | j                   st        d      y )NzAan AnsibleCollectionFinder has not been installed in this process)r,   NotImplementedErrorr4   s    r   r:   z(_AnsibleCollectionConfig._require_finder^   s    %%%&ijj &r   N)r&   r'   r(   r   propertyr5   setterr>   rB   rF   rJ   r:   r   r   r   r*   r*   ,   s    1
 & & ' ' P P ' ' ( ( ' ' U U N N 9 9kr   r*   c                      e Zd Zy)AnsibleCollectionConfigN)r&   r'   r(   r   r   r   rR   rR   d   s    r   rR   N)
__future__r   +ansible.module_utils.common.text.convertersr   ansible.module_utils.sixr   r   typer*   objectrR   r   r   r   <module>rX      sJ    # ? 2 >4kt 4kp '(	f 	 )	r   