Current File : //lib/python2.7/site-packages/cloudinit/mergers/m_dict.pyc
�
oB�]c@sAddlZdZdefZd�Zdefd��YZdS(i����Nt
no_replacetreplacecGs%x|D]}||krtSqWtS(N(tTruetFalse(twhattkeystk((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_dict.pyt_has_any
s
tMergercBs,eZd�Zd�Zd�Zd�ZRS(cCs|||_t|_x'tD]}||kr||_PqqWd|k|_t|dd�|_d|k|_t|_	dS(Ntrecurse_strt
recurse_arraytrecurse_listtallow_delete(
t_mergertDEF_MERGE_TYPEt_methodtMERGE_TYPESt_recurse_strRt_recurse_arrayt
_allow_deleteRt
_recurse_dict(tselftmergertoptstm((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_dict.pyt__init__s		
	cCs2d}||j|j|j|j|jf}|S(NsWDictMerger: (method=%s,recurse_str=%s,recurse_dict=%s,recurse_array=%s,allow_delete=%s)(RRRRR(Rts((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_dict.pyt__str__$scs���fd�}xo|j�D]a\}}||krv|dkr\�jr\|j|�q�||||�||<q|||<qW|S(Ncs��r
|St|ttf�r;�jr;�jj||�St|tj�ri�jri�jj||�St|t	�r��j
r��jj||�S|S(N(t
isinstancetlistttupleRR
tmergetsixtstring_typesRtdictR(told_vtnew_v(t
do_replaceR(s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_dict.pytmerge_same_key-s(titemstNoneRtpop(Rtvaluet
merge_withR%R&Rtv((R%Rs</usr/lib/python2.7/site-packages/cloudinit/mergers/m_dict.pyt_do_dict_replace+scCs�t|t�s|S|jdkr@|jt|�|t�}n@|jdkrm|jt|�|t�}ntd|j��|S(NRRsUnknown merge type %s(RR"RR-RRtNotImplementedError(RR*R+tmerged((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_dict.pyt_on_dictCs(t__name__t
__module__RRR-R0(((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_dict.pyRs			(R RRRtobjectR(((s</usr/lib/python2.7/site-packages/cloudinit/mergers/m_dict.pyt<module>s