name : m_dict.cpython-39.pyc
a

'�Dg{
�@s&dZdefZdd�ZGdd�d�ZdS)�
no_replace�replacecGs|D]}||vrdSqdS)NTF�)Zwhat�keys�krr�</usr/lib/python3.9/site-packages/cloudinit/mergers/m_dict.py�_has_anysrc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�MergercCsT||_t|_tD]}||vr||_q(qd|v|_t|dd�|_d|v|_d|_dS)NZrecurse_strZ
recurse_arrayZrecurse_listZallow_deleteT)	�_merger�DEF_MERGE_TYPE�_method�MERGE_TYPES�_recurse_strr�_recurse_array�
_allow_delete�
_recurse_dict)�selfZmergerZopts�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))rr
rrr)r�srrr�__str__%s��zMerger.__str__csb��fdd�}|��D]F\}}||vrT|dur@�jr@|�|�q\||||�||<q|||<q|S)Ncsj�r|St|ttf�r*�jr*�j�||�St|t�rH�jrH�j�||�St|t�rf�j	rf�j�||�S|S)N)
�
isinstance�list�tuplerr	�merge�strr
�dictr)Zold_vZnew_v��
do_replacerrr�merge_same_key4sz/Merger._do_dict_replace.<locals>.merge_same_key)�itemsr�pop)r�value�
merge_withrrr�vrrr�_do_dict_replace3s
zMerger._do_dict_replacecCs\t|t�s|S|jdkr,|�t|�|d�}n,|jdkrJ|�t|�|d�}ntd|j��|S)NrTrFzUnknown merge type %s)rrrr$�NotImplementedError)rr!r"Zmergedrrr�_on_dictJs


zMerger._on_dictN)�__name__�
__module__�__qualname__rrr$r&rrrrrsrN)r
rrrrrrr�<module>s
�

© 2025 Cubjrnet7