%PDF- %PDF-
Mini Shell

Mini Shell

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

�
���^c@@s�dZddlmZmZmZddlmZddljjj	j
Z
ddlmZm
Z
dddgZeZd	�Zd
�Zd�Zd�ZdS(
u�
    salt.serializers.configparser
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    .. versionadded:: 2016.3.0

    Implements a configparser serializer.
i(tabsolute_importtprint_functiontunicode_literals(tsixN(tDeserializationErrortSerializationErrorudeserializeu	serializeu	availablec	K@s.tjrtj|�}ntj|�}y�t|ttjf�sntjr^|j|�q�|j	|�n>tjr�|jtj
j|��n|j	tj
j|��i}xN|j�D]@}i}x'|j
|�D]\}}|||<q�W|||<q�W|SWntk
r)}t|��nXdS(u�
    Deserialize any string or stream like object into a Python data structure.

    :param stream_or_string: stream or string to deserialize.
    :param options: options given to lower configparser module.
    N(RtPY3tconfigparsertConfigParsertSafeConfigParsert
isinstancetbyteststring_typest	read_filetreadfptmovestStringIOtsectionstitemst	ExceptionR(	tstream_or_stringtoptionstcptdatatsection_nametsectiontktvterror((sA/usr/lib/python2.7/site-packages/salt/serializers/configparser.pytdeserializes(			cK@s�y�t|t�s0tdjt|����n|jdd�}tjr]t	j
|�}nt	j|�}t||�|r�|j
|�Stjj�}|j
|�|j�SWntk
r�}t|��nXdS(u�
    Serialize Python data to a configparser formatted string or file.

    :param obj: the data structure to serialize
    :param options: options given to lower configparser module.
    u5configparser can only serialize dictionaries, not {0}ufpN(R
tdictt	TypeErrortformatttypetpoptNoneRRRRR	t
_read_dicttwriteRRtgetvalueRR(tobjRtfpRtsR((sA/usr/lib/python2.7/site-packages/salt/serializers/configparser.pyt	serialize<s	


cC@s-tjr|tjkS|j�tjkSdS(N(RRRtDEFAULTSECTtupper(R((sA/usr/lib/python2.7/site-packages/salt/serializers/configparser.pyt_is_defaultsectXs	
cC@s�x�|j�D]�\}}tj|�}t|�rLtjrYtj}qYn
|j|�xc|j�D]U\}}|jtj|��}|dk	r�tj|�}n|j
|||�qfWq
WdS(uA
    Cribbed from python3's ConfigParser.read_dict function.
    N(RRt	text_typeR-tPY2RR+tadd_sectiontoptionxformR#tset(Rt
dictionaryRtkeystkeytvalue((sA/usr/lib/python2.7/site-packages/salt/serializers/configparser.pyR$_s	
(t__doc__t
__future__RRRtsalt.extRtsalt.ext.six.moves.configparsertextRRtsalt.serializersRRt__all__tTruet	availableRR*R-R$(((sA/usr/lib/python2.7/site-packages/salt/serializers/configparser.pyt<module>	s	$		

Zerion Mini Shell 1.0