Current File : //lib/python2.7/site-packages/cloudinit/distros/ug_util.pyc
�
oB�]c@s|ddlZddlmZddlmZddlmZeje�Zd�Z	dd�Zd�Zddd�Z
dS(	i����N(tlog(t
type_utils(tutilcCst|tj�r*|j�jd�}nt|t�r�i}xR|D]J}t|t�rIx2|j�D]�\}}||kr�t|t�r�t|�||<qBt|tj�r�|g||<qBtdt	j
|���qht|t�r||j|�qht|tj�r)||j|�qhtdt	j
|���qhWqFt|tj�rw||kr�g||<q�qFtdt	j
|���qFW|}ni}t|t�r�xI|j�D]\}}t
j|�||<q�Wntdt	j
|���|S(Nt,sBad group member type %ssUnknown group name type %ss@Group config must be list, dict  or string types only and not %s(t
isinstancetsixtstring_typeststriptsplittlisttdicttitemst	TypeErrorRtobj_nametextendtappendRtuniq_merge_sorted(tgrp_cfgt	c_grp_cfgtitktvtgroupstgrp_nametgrp_members((s=/usr/lib/python2.7/site-packages/cloudinit/distros/ug_util.pyt_normalize_groupssB
	cCs�t|t�r�g}x�|j�D]�\}}t|tttftj�rutj	|�r�|j
t|��q�q"t|t�r�||d<|j
|�q"tdt
j|�|f��q"W|}n$t|tj�r�tj|�}ni}x|D]}t|tftj�rVx�tj|�D]%}|r*||kr*i||<q*q*Wq�t|t�r�d|kr�|jd�}|j|�p�i}	tj|	|g�||<q�|jd�p�i}	tj|	|g�|d<q�tdt
j|���q�W|r�i}
xr|j�D]d\}}i}
xE|j�D]7\}}|jdd�j�}|r7||
|<q7q7W|
|
|<qW|
}nd}|rNd|krN|jd�}|rN|j�}|jd�}|jdg�}|j|i�}|jdg�}tj||�}dj|�|d<tj|||g�||<qNn|r�xF|j�D]5\}}|r�||kr�t|d<qat|d<qaWn|S(	Ntnames(Unmappable user value type %s for key %stdefaultsDUser config must be dictionary/list  or string types only and not %st-t_RR(RR
RtbooltinttfloatRRRtis_trueRtstrRRR
RR	t
uniq_mergetpoptgett
mergemanydicttreplaceRtNonetcopytjointTruetFalse(tu_cfgtdef_user_cfgtad_ucfgRRtuserstuser_configtutntprev_configtc_userstunametuconfigt	c_uconfigtdef_usert
def_configt
def_groupst
parsed_configt
parsed_groupstusers_groups((s=/usr/lib/python2.7/site-packages/cloudinit/distros/ug_util.pyt_normalize_usersXsz
	
				
cCs�|si}ni}i}d|kr:t|d�}ni}d|kr�|dr�|d}t|tj�r�i|d6}nt|t�s�tjdtj|��i}q�ni}y|j	�}Wnt
k
r�tjd�nXtj||g�}|j
dg�}t|ttftj�sRtjdtj|��g}n|r�t|t�r~|jidd6�q�t|t�r�t|�j
dt�|d<q�t|tj�r�|d	7}q�nt||�}||fS(
NRtuserRs?Format for 'user' key must be a string or dictionary and not %ssiDistro has not implemented default user access. No distribution provided default user will be normalized.R0s\Format for 'users' key must be a comma separated string or a dictionary or a list and not %sRs,default(RRRRR
tLOGtwarningRR
tget_default_usertNotImplementedErrorRR&R%R	RR+R?(tcfgtdistroR0Rtold_usertdistro_user_configtdefault_user_configt
base_users((s=/usr/lib/python2.7/site-packages/cloudinit/distros/ug_util.pytnormalize_users_groups�sH	

	
		cCs�|si}nd�}|j�}tt||��}|sI||fSt|�d}||}|jdd�||fSdS(NcSs-|d}|sd|kr!tS|dSdS(NiR(R,(tentrytconfig((s=/usr/lib/python2.7/site-packages/cloudinit/distros/ug_util.pyt	safe_finds
iR(RR
tfilterR	R$R((R0tdefault_nametdefault_configRNt	tmp_usersRRM((s=/usr/lib/python2.7/site-packages/cloudinit/distros/ug_util.pytextract_defaults		

(Rt	cloudinitRtloggingRRt	getLoggert__name__RARR(R?RKRS(((s=/usr/lib/python2.7/site-packages/cloudinit/distros/ug_util.pyt<module>s
	9k	I