%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@sdZddlmZmZmZddlZddlZddlZddlm	Z	m
Z
ddlmZyej
e_eje_Wnek
r�nXddlZdddgZd	efd
��YZejdde�d
ejfd��YZed�Zed�ZdS(u
Custom YAML loading in Salt
i(tabsolute_importtprint_functiontunicode_literalsN(tMappingNodetSequenceNode(tConstructorErroruSaltYamlSafeLoaderuloadu	safe_loadtDuplicateKeyWarningcB@seZdZRS(u*
    Warned when duplicate keys exist
    (t__name__t
__module__t__doc__(((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyRsualwaystcategorytSaltYamlSafeLoadercB@s\eZdZed�Zd�Zd�Zed�Zd�Z	d�Z
d�Zd�ZRS(	u�
    Create a custom YAML loader that uses the custom constructor. This allows
    for the YAML loading defaults to be manipulated based on needs within salt
    to make things like sls file more intuitive.
    cC@s�tt|�j|�|tk	rW|jdt|�j�|jdt|�j�n|jdt|�j�|jdt|�j�|jdt|�j	�||_
dS(Nutag:yaml.org,2002:maputag:yaml.org,2002:omaputag:yaml.org,2002:stru tag:yaml.org,2002:python/unicodeutag:yaml.org,2002:timestamp(tsuperRt__init__tdicttadd_constructorttypetconstruct_yaml_maptconstruct_yaml_strtconstruct_unicodetconstruct_scalart	dictclass(tselftstreamR((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyR
)s$cc@s1|j�}|V|j|�}|j|�dS(N(Rtconstruct_mappingtupdate(Rtnodetdatatvalue((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyR>scC@s|jS(N(R(RR((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyRDsc	C@s#t|t�s6tdddj|j�|j��n|j|�d}|j�}x�|j	D]�\}}|j
|d|�}yt|�Wn8tk
r�t||jdj|j	�|j��nX|j
|d|�}||krt||jdj|�|j��n|||<q_W|S(u,
        Build the mapping for YAML
        u&expected a mapping node, but found {0}uwhile constructing a mappingtdeepufound unacceptable key {0}ufound conflicting ID '{0}'N(
t
isinstanceRRtNonetformattidt
start_marktflatten_mappingRRtconstruct_objectthasht	TypeError(	RRRtcontexttmappingtkey_nodet
value_nodetkeyR((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyRGs8

cC@s�|jdkr||jdkr!q�|jjd�r�|jjd	�r�|jjd�|_|jdkryd|_qyq�nK|jdkr�tjd|jdtj�r�t|jii�|_q�ntt	|�j
|�S(
ub
        Verify integers and pass them in correctly is they are declared
        as octal
        utag:yaml.org,2002:intu0u0bu0xuutag:yaml.org,2002:stru^u([\'"]).+\1$tflags(u0bu0x(ttagRt
startswithtlstriptretmatcht
IGNORECASEtevalRRR(RR((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyRjs%cC@s"|j|�}tjjj|�S(N(Rtsalttutilststringutilst
to_unicode(RRR((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyRsc	C@s/|j}|j}|j}ytt|�j�SWn�tjjk
r*}|j}|j}|j}|j	dkr!||_||_||_|j
d�dkr!|j
d�}|dkr|jd7_|jd7_|dkr�|j�S|j�Sq||_||_||_q!n|�nXdS(	uP
        Handle unicode literal strings which appear inline in the YAML
        ufound unexpected ':'iuuiu'u"N(u'u"(
tlinetcolumntpointerRRtfetch_plaintyamltscannertScannerErrortproblemtpeektfetch_singletfetch_double(	Rt	orig_linetorig_columntorig_pointertexctproblem_linetproblem_columntproblem_pointert
quote_char((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyR;�s2									

		c
C@s�g}d}xw|t|j�kr�|j|\}}|jdkrS|j|=t|t�r|j|�|j|j�q�t|t�r)g}xg|jD]\}t|t�s�td|j	dj
|j�|j	��n|j|�|j|j�q�W|j
�xE|D]}|j|�qWq�td|j	dj
|j�|j	��q|jdkrxd|_|d7}q|d7}qW|r�g|jD]\}	}|	j^q�}
g|D]}|dj|
kr�|^q�}||j|_ndS(	Niutag:yaml.org,2002:mergeuwhile constructing a mappingu-expected a mapping for merging, but found {0}uAexpected a mapping or list of mappings for merging, but found {0}utag:yaml.org,2002:valueutag:yaml.org,2002:stri(tlenRR-RRR#textendRRR"R R!tappendtreverse(
RRtmergetindexR)R*tsubmergetsubnodeRt	name_nodetexisting_nodestxtmergeable_items((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyR#�sD




	
%,(
RRR	RR
RRtFalseRRRR;R#(((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyR#s		#			)cC@stj|d|�S(NtLoader(R<tload(RRX((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyRY�scC@stj|d|�S(ue
    .. versionadded:: 2018.3.0

    Helper function which automagically uses our custom loader.
    RX(R<RY(RRX((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyt	safe_load�s(R	t
__future__RRRR0twarningsR<t
yaml.nodesRRtyaml.constructorRtCLoaderRXtCDumpertDumpert	Exceptiontsalt.utils.stringutilsR4t__all__tRuntimeWarningRtsimplefiltert
SafeLoaderRRYRZ(((s=/usr/lib/python2.7/site-packages/salt/utils/yamlloader_old.pyt<module>s$
�

Zerion Mini Shell 1.0