%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/227033/root/lib/python2.7/site-packages/salt/modules/inspectlib/
Upload File :
Create Path :
Current File : //proc/227033/root/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyc

�
���^c@@s�ddlmZddlZddlmZddlZddlZyddlZddlZWne	k
rsnXddl
Zddlm
Z
yddlmZWn!e	k
r�ddlmZnXdefd��YZdS(	i(tabsolute_importN(tminidom(tInspectorKiwiProcessorException(tetree(tElementTreetKiwiExportercB@sqeZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
RS(s;
    Exports system description as Kiwi configuration.
    cC@s4||_||_tddi�|_d|_dS(Ntdata((t
__grains__tformatttypet_datatNonetname(tselftgrainsR((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyt__init__,s		cK@s4x-|j�D]\}}t|j||�q
W|S(sK
        Load data by keys.

        :param data:
        :return:
        (titemstsetattrR
(R
tdescrtobjR((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pytload2sc	C@s�||_|j�}|j|�|j|�|j|�|j|�|j|�djgtj	t
j|dddt��j
dd�jd�D]}|j�r�|^q��S(sJ
        Export to the Kiwi config.xml as text.

        :return:
        s
tencodingsUTF-8tpretty_printtindents  (Rt_create_doct_set_descriptiont_set_preferencest_set_repositoriest
_set_userst
_set_packagestjoinRtparseStringRttostringtTruettoprettyxmltsplittstrip(R
Rtroottline((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pytexport>s	




7cC@s�d}|jjd�dkr'd}nH|jjdd�dkrKd}n$|jjdd�dkrod	}n|dkr�td
j|jjd����n|S(
s8
        Get package manager.

        :return:
        t	os_familytKalitDebiansapt-getttSusetzyppertredhattyumsUnsupported platform: {0}N(R)R*(RRtgetRR(R
tret((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyt_get_package_managerQs			$cC@sFtj|d�}tj|d�}|j�|_tj|d�}d|_tj|d�}|jdd�x^|jjjdi�j�D]>\}}|j	d	�r�|jd
|jd�p�d�Pq�q�W|jdd
�|jdd�|jd|j
�|jdd�|jdtd��|jdtd��|S(s4
        Set preferences.

        :return:
        tpreferencestpackagemanagertversions0.0.1R	timagetvmxtdiskss/devt
filesystemtext3t
installisottruetbootsvmxboot/suse-leap42.1Rt
bootloadertgrub2ttimezonestimezone.get_zonethwclockstimezone.get_hwclock(Rt
SubElementR2ttexttsetR
tsystemR0Rt
startswithRt__salt__(R
tnodetpreftpacmant	p_versiontp_typetdisk_idt	disk_data((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyRds$	+cC@sNgtj�D]}||jkr
|j^q
tjtj|�j�jgS(sI
        Get user groups.

        :param user:
        :return:
        (tgrptgetgralltgr_memtgr_nametgetgrgidtpwdtgetpwnamtpw_gid(R
tusertg((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyt_get_user_groups�sc

C@s	i}tjjjd��|}xr|j�jtj�D]X}|j�r7|jd�d \}}|r�|ddkr�i|d6||<q�q7q7WWdQXtjjjd���}x�|j�jtj�D]�}|j�r�|j�jd�}|d|krR|d	||dd
<|d||dd<|j	|d�||dd
<qRq�q�WWdQXg}t
j|d�}	xu|j�D]g\}
}t
j|	d�}|j
d|d�|j
d|d
�|j
d|
�|j|d
�q�W|	j
ddj|��|	S(s�
        Create existing local users.

        <users group="root">
          <user password="$1$wYJUgpM5$RXMMeASDc035eX.NbYWFl0" home="/root" name="root"/>
        </users>

        :param node:
        :return:
        s/etc/shadowt:iis!*tpNs/etc/passwdithitsRXtusersRWtpasswordthomeRtgroupt,(tsalttutilstfilestfopentreadR#tostlinesepR$RYRRBRRDtextendR(
R
RHtshadowtrfhtsh_linetloginRTtps_linetusers_groupst
users_nodetu_nametu_datat	user_node((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyR�s2!/cC@svd}xi|jjjdi�j�D]I\}}t|�tkrP|d}n|jd�so|jd�r%|jd|jd��}|s�q%ntj|d�}|jjd	�dkr�|j	d|�|j	d
|d�nX|j	d|d�|jjd	d�dkr)|j	dd�n|j	dt
|��tj|d�}|j	d|�|d8}q%q%WdS(sM
        Create repositories.

        :param node:
        :return:
        ictrepositoriesitenabledtdisabledtbaseurlturit
repositoryR(R)R*taliastdistributiontdistR+R,R	tyast2tprioritytsourcetpathiN(sKalisDebian(R
tsoftwareR0RR	tlistRRBRRDtstr(R
RHRtrepo_idt	repo_dataRytrepoR�((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyR�s&+
c	C@s�tj|d�}xTt|jjjdi�j��D].\}}tj|d�}|jd|�q7W|jjdd�dkr�xc|jjjdi�j�D]@\}}|jd�r�tj|d	�}|jd|�q�q�Wn|S(
sV
        Set packages and collections.

        :param node:
        :return:
        tpackagestpackageRR(R+R,tpatternst	installedtnamedCollection(	RRBtsortedR
R�R0RRDR(	R
RHtpkgstpkg_nametpkg_versiontpkgtptn_idtptn_datatptn((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyR�s1+cC@s�tj�ptj�}tj|d�}tj|d�}dj|�|_tj|d�}dj|�|_tj|d�}dj|�|_|S(s@
        Create a system description.

        :return:
        tdescriptiontauthorssalt.modules.node on {0}tcontactsroot@{0}t
specifications)Rebuild of {0}, based on Salt inspection.(tsockettgetfqdntplatformRHRRBRRC(R
RHthostnameRR�R�tspecs((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyR�scC@s6tjd�}|jdd�|jd|j�|S(s4
        Create document.

        :return:
        R6t
schemaversions6.3R(RtElementRDR(R
R%((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyR�s(t__name__t
__module__t__doc__RRR'R2RRYRRRRR(((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyR(s						
	)			(t
__future__RRhtxml.domRR�R�RORTtImportErrortsalt.utils.filesRct"salt.modules.inspectlib.exceptionsRtlxmlRtsalt._compatRtobjectR(((sD/usr/lib/python2.7/site-packages/salt/modules/inspectlib/kiwiproc.pyt<module>s 



Zerion Mini Shell 1.0