%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@s�dZddlmZmZmZddlZddlZddlZddlZe	Z
yddlZe
Z
Wnek
r�nXddlmZeje�Zdd�Zdefd��YZd	�ZdS(
u7
Roster matching by various criteria (glob, pcre, etc)
i(tabsolute_importtprint_functiontunicode_literalsN(tsixuipv4cC@st||||�}|j�S(N(t
RosterMatcherttargets(tconditioned_rawttgtttgt_typetipvtrmatcher((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pyRsRcB@sYeZdZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
RS(
u/
    Matcher for the roster data structure
    uipv4cC@s(||_||_||_||_dS(N(RRtrawR	(tselfRRRR	((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pyt__init__&s			cC@s9y t|dj|j���SWntk
r4iSXdS(uA
        Execute the correct tgt_type routine and return
        uret_{0}_minionsN(tgetattrtformatRtAttributeError(R((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pyR,s 
cC@s^i}xQ|jD]F}tj||j�r|j|�}|rV|j�||<qVqqW|S(u4
        Return minions that match via glob
        (RtfnmatchRtget_datatcopy(Rtminionstminiontdata((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pytret_glob_minions5scC@s^i}xQ|jD]F}tj|j|�r|j|�}|rV|j�||<qVqqW|S(u4
        Return minions that match via pcre
        (RtretmatchRRR(RRRR((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pytret_pcre_minionsAscC@s�i}t|jt�s0|jjd�|_nxK|jD]@}||jkr:|j|�}|rz|j�||<qzq:q:W|S(u4
        Return minions that match via list
        u,(t
isinstanceRtlisttsplitRRR(RRRR((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pytret_list_minionsMscC@s�i}tjdi�j|jg�}t|t�sH|jd�}nxH|jD]=}||krR|j|�}|r�|j�||<q�qRqRW|S(up
        Return minions which match the special list-only groups defined by
        ssh_list_nodegroups
        ussh_list_nodegroupsu,(	t__opts__tgetRRRRRRR(RRt	nodegroupRR((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pytret_nodegroup_minions[s!cC@s�ttkrtd��ni}t|jtd�}xH|jD]=}||krA|j|�}|r~|j�||<q~qAqAW|S(uC
        Return minions that are returned by a range query
        u(Python lib 'seco.range' is not availableurange_server(	t	HAS_RANGEtFalsetRuntimeErrort_convert_range_to_listRRRRR(RRtrange_hostsRR((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pytret_range_minionskscC@s�tjtjdi��}t|j|tj�rS|ji|j|d6�|St|j|t	�r�|j|j|�|St
S(u*
        Return the configured ip
        uroster_defaultsuhost(RtdeepcopyRR RRRtstring_typestupdatetdictR$(RRtret((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pyR|s(t__name__t
__module__t__doc__R
RRRRR"R(R(((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pyR"s							cC@sTtjj|�}y|j|�SWn*tjjk
rO}tjd|�gSXdS(u7
    convert a seco.range range into a list target
    uRange server exception: %sN(tsecotrangetRangetexpandtRangeExceptiontlogterror(Rtrange_servertrterr((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pyR&�s(R0t
__future__RRRRtloggingRRR$R#t
seco.rangeR1tTruetImportErrortsalt.extRt	getLoggerR.R6RtobjectRR&(((s=/usr/lib/python2.7/site-packages/salt/utils/roster_matcher.pyt<module>s 

h

Zerion Mini Shell 1.0