%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/yamlloader.pyc

�
���^c@@s!dZddlmZmZmZddlZddlZddlmZm	Z	ddl
mZy4eje_
eje_eje_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__(((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyRsualwaystcategorytSaltYamlSafeLoadercB@sSeZdZed�Zd�Zd�Zed�Zd�Z	d�Z
d�ZRS(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((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyR
*s$cc@s1|j�}|V|j|�}|j|�dS(N(Rtconstruct_mappingtupdate(Rtnodetdatatvalue((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyR?scC@s|jS(N(R(RR((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyREsc	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((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyRHs8

cC@s�|jdkr||jdkr!q||jjd�r||jjd�r||jjd�|_|jdkryd|_qyq|ntt|�j|�S(ub
        Verify integers and pass them in correctly is they are declared
        as octal
        utag:yaml.org,2002:intu0u0bu0xu(u0bu0x(ttagRt
startswithtlstripRRR(RR((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyRks%cC@s"|j|�}tjjj|�S(N(Rtsalttutilststringutilst
to_unicode(RRR((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyR{sc
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((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyR#sD




	
%,(RRR	RR
RRtFalseRRRR#(((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyR$s		#		cC@stj|d|�S(NtLoader(tyamltload(RR@((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyRB�scC@stj|d|�S(ue
    .. versionadded:: 2018.3.0

    Helper function which automagically uses our custom loader.
    R@(RARB(RR@((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyt	safe_load�s(R	t
__future__RRRtwarningsRAt
yaml.nodesRRtyaml.constructorRtCLoaderR@tCDumpertDumpertCSafeLoadert
SafeLoadertCSafeDumpert
SafeDumpert	Exceptiontsalt.utils.stringutilsR/t__all__tRuntimeWarningRtsimplefilterRRBRC(((s9/usr/lib/python2.7/site-packages/salt/utils/yamlloader.pyt<module>s&
�

Zerion Mini Shell 1.0