HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/cloudinit/mergers/__pycache__/m_dict.cpython-310.pyc
o

�Ad�
�@s&dZdefZdd�ZGdd�d�ZdS)�
no_replace�replacecGs|D]	}||vrdSqdS)NTF�)�what�keys�krr�:/usr/lib/python3/dist-packages/cloudinit/mergers/m_dict.py�_has_anys
�rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�MergercCsT||_t|_tD]}||vr||_nqd|v|_t|dd�|_d|v|_d|_dS)N�recurse_str�
recurse_array�recurse_list�allow_deleteT)	�_merger�DEF_MERGE_TYPE�_method�MERGE_TYPES�_recurse_strr�_recurse_array�
_allow_delete�
_recurse_dict)�self�merger�opts�mrrr�__init__s�


zMerger.__init__cCs$d}||j|j|j|j|jf}|S)NzWDictMerger: (method=%s,recurse_str=%s,recurse_dict=%s,recurse_array=%s,allow_delete=%s))rrrrr)r�srrr�__str__%s��zMerger.__str__csb��fdd�}|��D]#\}}||vr*|dur �jr |�|�q||||�||<q|||<q|S)Ncsj�r|St|ttf�r�jr�j�||�St|t�r$�jr$�j�||�St|t�r3�j	r3�j�||�S|S)N)
�
isinstance�list�tuplerr�merge�strr�dictr)�old_v�new_v��
do_replacerrr�merge_same_key4sz/Merger._do_dict_replace.<locals>.merge_same_key)�itemsr�pop)r�value�
merge_withr&r'r�vrr%r�_do_dict_replace3s
zMerger._do_dict_replacecCs\t|t�s|S|jdkr|�t|�|d�}|S|jdkr'|�t|�|d�}|Std|j��)NrTrFzUnknown merge type %s)rr"rr-�NotImplementedError)rr*r+�mergedrrr�_on_dictJs


��zMerger._on_dictN)�__name__�
__module__�__qualname__rrr-r0rrrrr	s
r	N)rrrr	rrrr�<module>s�