HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cloudinit/mergers/__pycache__/__init__.cpython-38.pyc
U

Ӈg��@spddlZddlmZmZe�d�ZdZdZdZGdd�d�Z	Gd	d
�d
e	�Z
dd�Zd
d�Zdd�Z
dd�ZdS)�N)�importer�
type_utilsz#(^[a-zA-Z_][A-Za-z0-9_]*)\((.*?)\)$zlist()+dict()+str()Zm_ZMergerc@seZdZdd�Zdd�ZdS)�
UnknownMergercCs|S�N�)�selfZ_meth_wanted�valueZ_merge_withrr�</usr/lib/python3/dist-packages/cloudinit/mergers/__init__.py�_handle_unknownszUnknownMerger._handle_unknowncCsXt�|�}|��}d|}d}||g}t||�r:t||�}|sP|j}|�d|�||�S)Nz_on_%sr)rZobj_name�lower�hasattr�getattrr
�insert)r�source�
merge_withZ	type_nameZmethod_name�meth�argsrrr	�merge s


zUnknownMerger.mergeN)�__name__�
__module__�__qualname__r
rrrrr	rs
rc@s&eZdZddd�Zdd�Zdd�ZdS)	�LookupMergerNcCs$t�|�|dkrg|_n||_dSr)r�__init__�_lookups)rZlookupsrrr	r/s
zLookupMerger.__init__cCsdt|j�S)NzLookupMerger: (%s))�lenr)rrrr	�__str__6szLookupMerger.__str__cCsFd}|jD]}t||�r
t||�}q(q
|s<t�||||�S|||�Sr)rrr
rr
)rZmeth_wantedrrrZmergerrrr	r
>s


�zLookupMerger._handle_unknown)N)rrrrrr
rrrr	r.s
rcCs�g}|�dd�}|dkr$|�dd�}|dkr0|St|t�rBt|�S|D]h}t|t�rv|d}|�dd���}|d}n&|d}t|�dkr�|d	d�}ng}|rF|�||f�qF|S)
N�	merge_howZ
merge_type�name�-�_Zsettingsr��)	�pop�
isinstance�str�string_extract_mergers�dict�replace�stripr�append)Zconfig�parsed_mergersZraw_mergers�mr�optsrrr	�dict_extract_mergersMs(


r-cCs�g}|�d�D]v}|����}|�dd�}|s0qt�|�}|sNd|}t|��|��\}}|���d�}dd�|D�}|�||f�q|S)N�+rrz2Matcher identifier '%s' is not in the right format�,cSs g|]}|��r|�����qSr)r(r)�.0r+rrr	�
<listcomp>wsz*string_extract_mergers.<locals>.<listcomp>)	�splitrr(r'�	NAME_MTCH�match�
ValueError�groupsr))rr*�m_namer4�msg�m_opsrrr	r%fs"
�r%cCsttt��Sr)�tupler%�DEF_MERGE_TYPErrrr	�default_mergers|sr<c
Cs�g}|D]v\}}|�t�s&tt|�}t�|tgtg�\}}|sXd|t|f}t|��qt�|d�}t	|t�}|�
||f�qg}	t|	�}
|D]\}}|	�
||
|��q�|
S)NzICould not find merger module named '%s' with attribute '%s' (searched %s)r)�
startswith�
MERGER_PREFIXr$r�find_moduler�MERGER_ATTR�ImportError�
import_moduler
r)r)
r*Z
mergers_to_ber7r9Zmerger_locsZlooked_locsr8�modZmod_attrZmergers�root�attrr,rrr	�	construct�s.
���

rF)�reZ	cloudinitrr�compiler3r;r>r@rrr-r%r<rFrrrr	�<module>s