Viewing File: /usr/lib/python2.7/site-packages/cloudinit/distros/ug_util.pyo

ó
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ƒri}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||krg||<qqFtdt	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|rxF|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
Back to Directory File Manager