%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python2.7/site-packages/salt/modules/
Upload File :
Create Path :
Current File : //lib/python2.7/site-packages/salt/modules/mac_group.pyc

�
���^c@@sdZddlmZmZmZyddlZWnek
rEnXddlZddl	Zddl
ZddlmZm
Z
ddlmamaddlmZdZd�Zdd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zed�Zd�Z dS(u
Manage groups on Mac OS 10.7+
i(tabsolute_importtunicode_literalstprint_functionN(tCommandExecutionErrortSaltInvocationError(t_dsclt_flush_dscl_cache(tsixugroupcC@sitjd�dks%tddkr/tdfStjjjtt��atjjjt	t��a	t
S(NukerneluDarwinuosrelease_infoi
iu_The mac_group execution module cannot be loaded: only available on Darwin-based systems >= 10.7(i
i(t
__grains__tgettFalsetsalttutilst	functoolstnamespaced_functionRtglobalsRt__virtualname__(((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pyt__virtual__s
cK@st|�r$tdj|���ntjjj|�rHtd��n|jd�rftd��n|dk	r�t
|t�r�td��nt�}t
j|�|kr�tdj|���nddd	g}|r�|jd
|g�n|j|�td|dt�d
kS(ur
    Add the specified group

    CLI Example:

    .. code-block:: bash

        salt '*' group.add foo 3456
    uGroup '{0}' already existsu$Group name cannot contain whitespaceu_u6Salt will not create groups beginning with underscoresugid must be an integerugid '{0}' already existsudseditgroupu-oucreateu-iucmd.retcodetpython_shelliN(tinfoRtformatRRtstringutilstcontains_whitespaceRt
startswithtNonet
isinstancetintt
_list_gidsRt	text_typetextendtappendt__salt__R
(tnametgidtkwargstgid_listtcmd((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pytadd%s&	
cC@s�tddddgdddt�}t�}xItjjj|d�D]/}|jd	�rG|j|j�d
�qGqGWt	|�S(u&
    Return a list of gids in use
    ucmd.runudscacheutilu-qugrouptoutput_logleveluquietRu
ugid:i(
RR
tsetRRt	itertoolstsplitRtupdatetsorted(toutputtrettline((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pyRKs		cC@s~tjjj|�r$td��n|jd�rBtd��nt|�sRtSddd|g}td|dt	�d	kS(
uo
    Remove the named group

    CLI Example:

    .. code-block:: bash

        salt '*' group.delete foo
    u$Group name cannot contain whitespaceu_u6Salt will not remove groups beginning with underscoresudseditgroupu-oudeleteucmd.retcodeRi(
RRRRRRRtTrueRR
(R R$((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pytdelete[s
cC@s&dj||�}td|�dkS(u�
    Add a user in the group.

    CLI Example:

    .. code-block:: bash

         salt '*' group.adduser foo bar

    Verifies if a valid username 'bar' as a member of an existing group 'foo',
    if not then adds it.
    u-dscl . -merge /Groups/{0} GroupMembership {1}ucmd.retcodei(RR(tgroupR R$((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pytadduserqs
cC@s&dj||�}td|�dkS(u�
    Remove a user from the group

    .. versionadded:: 2016.3.0

    CLI Example:

    .. code-block:: bash

         salt '*' group.deluser foo bar

    Removes a member user 'bar' from a group 'foo'. If group is not present
    then returns True.
    u.dscl . -delete /Groups/{0} GroupMembership {1}ucmd.retcodei(RR(R1R R$((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pytdeluser�scC@s�d}td|�}|r�||dkr�dj|�}td|�dk}xR|jd�D]>}dj||�}td|�}|dks�Pqad}qaWn|dkS(	u�
    Replaces members of the group with a provided list.

    .. versionadded:: 2016.3.0

    CLI Example:

        salt '*' group.members foo 'user1,user2,user3,...'

    Replaces a membership list for a local group 'foo'.
    iu
group.infounameu3/usr/bin/dscl . -delete /Groups/{0} GroupMembershipucmd.retcodeiu,u6/usr/bin/dscl . -merge /Groups/{0} GroupMembership {1}(RRR)(R tmembers_listtretcodetgrp_infoR$tuser((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pytmembers�s
c@sstjjj��r$td��ny,tt�fd�tj�D���}Wnt	k
rdiSXt
|�SdS(uw
    Return information about a group

    CLI Example:

    .. code-block:: bash

        salt '*' group.info foo
    u$Group name cannot contain whitespacec3@s$|]}|j�kr|VqdS(N(tgr_name(t.0tx(R (s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pys	<genexpr>�sN(RRRRRtnexttitertgrptgetgrallt
StopIterationt_format_info(R tgrinfo((R s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pyR�s
,
cC@s,i|jd6|jd6|jd6|jd6S(u7
    Return formatted information in a pretty way.
    unameugidupasswdumembers(R9tgr_gidt	gr_passwdtgr_mem(tdata((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pyRA�s


cC@sndtkr|rtdSg}x<tj�D].}|jjd�s.|jt|��q.q.W|td<|S(un
    Return info on all groups

    CLI Example:

    .. code-block:: bash

        salt '*' group.getent
    ugroup.getentu_(t__context__R>R?R9RRRA(trefreshR-RB((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pytgetent�s

cC@s�t|t�std��ntd|�}t|�}|sXtdj|���n||dkrltSdddd||g}td	|d
t�dkS(u}
    Change the gid for a named group

    CLI Example:

    .. code-block:: bash

        salt '*' group.chgid foo 4376
    ugid must be an integerufile.group_to_giduGroup '{0}' does not existugidudseditgroupu-oueditu-iucmd.retcodeRi(	RRRRRRRR/R
(R R!tpre_gidtpre_infoR$((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pytchgid�s
(!t__doc__t
__future__RRRR>tImportErrortsalt.utils.functoolsRtsalt.utils.itertoolstsalt.utils.stringutilstsalt.exceptionsRRtsalt.modules.mac_userRRtsalt.extRRRRR%RR0R2R3R8RRAR
RIRL(((s:/usr/lib/python2.7/site-packages/salt/modules/mac_group.pyt<module>s.
	&							


Zerion Mini Shell 1.0