Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/toml/__pycache__/encoder.cpython-35.pyc



t_&@s#ddlZddlZddlZddlmZddlmZejdkrYeZ	dddZ
dddZd	d
ZddZ
d
dZGdddeZGdddeZGdddeZGdddeZGdddeZGdddeZdS)N)Decimal)InlineTableDictcCs8|jstdt|d|}|j||S)aWrites out dict as toml to a file

    Args:
        o: Object to dump into toml
        f: File descriptor where the toml should be stored
        encoder: The ``TomlEncoder`` to use for constructing the output string

    Returns:
        String containing the toml corresponding to dictionary

    Raises:
        TypeError: When anything other than file descriptor is passed
    z0You can only dump an object to a file descriptorencoder)write	TypeErrordumps)ofrdr/builddir/build/BUILDROOT/alt-python35-pip-20.2.4-1.el7.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_vendor/toml/encoder.pydumps
	
rcCskd}|dkr!t|j}|j|d\}}||7}t|g}x|rfdd|D}x&|D]}||krutdquW||7}|j}x|D]}	|j||	|	\}}
|s|r2|
r2|r|dddkr|d7}|d	|	d
7}|r2||7}x$|
D]}|
|||	d|<q9WqW|}qUW|S)
aStringifies input dict as toml

    Args:
        o: Object to dump into toml
        encoder: The ``TomlEncoder`` to use for constructing the output string

    Returns:
        String containing the toml corresponding to dict

    Examples:
        ```python
        >>> import toml
        >>> output = {
        ... 'a': "I'm a string",
        ... 'b': ["I'm", "a", "list"],
        ... 'c': 2400
        ... }
        >>> toml.dumps(output)
        'a = "I'm a string"
b = [ "I'm", "a", "list",]
c = 2400
'
        ```
    NcSsg|]}t|qSr)id).0sectionrrr

<listcomp>@s	zdumps.<locals>.<listcomp>zCircular reference detectedz


[z]
.)TomlEncoder	__class__
dump_sectionsr
ValueErrorget_empty_table)r	rretvaladdtoretvalsections
outer_objssection_ids	outer_objnewsectionsr
addtosectionssrrr
r"s4
	






rcCstjdkr<t|dr<t|tr<|jd}d|}|ddkrf|dd}|jd}|s|jd	r|dd}|r|jd
d}|jd	d}|jd}xt	|dkrd}|ds|dd}|djd
d|d<|d|dk}x=|dd|ru|d|dkru|}|d8}q9W|rd}nd}|d||dg|dd}qWt
d	|dd	S)Nrdecodezutf-8z%rru'"z\'z\"z\xz\\\xu00r)rr/)sysversion_infohasattr
isinstancestrr'
startswithreplacesplitlenunicode)vsinglequoteijoinxjoinerrrr
	_dump_strVs4-

+	+r?cCs%dj|jddjddS)Nz{}ze+0ze+ze-0ze-)formatr6)r:rrr
_dump_floatusrAcCs6|j}|dkr"|jS|jddS)Ni)	utcoffset	isoformat)r:rCrrr

_dump_timeys
rEc@s^eZdZedddZddZddZdd	Zd
dZdd
Z	dS)rFcCs||_||_ttttt|jtddtddt	t
tt
tjddtj
ttjddi
|_dS)NcSst|jS)N)r9lower)r:rrr
<lambda>sz&TomlEncoder.__init__.<locals>.<lambda>cSs|S)Nr)r:rrr
rGscSs|jjddS)Nz+00:00Z)rDr6)r:rrr
rGscSs
|jS)N)rD)r:rrr
rGs)_dictpreserver4r?r9list	dump_listboolintfloatrArdatetimetimerEdate
dump_funcs)selfrIrJrrr
__init__s				zTomlEncoder.__init__cCs
|jS)N)rI)rTrrr
rszTomlEncoder.get_empty_tablecCsFd}x/|D]'}|dt|j|d7}q
W|d7}|S)Nr ,])r9
dump_value)rTr:rr(rrr
rLs

%
zTomlEncoder.dump_listcCsd}t|tr{g}x>|jD]0\}}|j|}|j|d|q(W|ddj|d7}|St|j|SdS)zPreserve inline table in its compact syntax instead of expanding
        into subsection.

        https://github.com/toml-lang/toml#user-content-inline-table
        rz = z{ z, z }
N)r3dictitemsdump_inline_tableappendjoinr9rY)rTrrval_listkr:valrrr
r\szTomlEncoder.dump_inline_tablecCsg|jjt|}|dkr@t|dr@|jt}|dk	rV||S|jt|S)N__iter__)rSgettyper2rKr4)rTr:dump_fnrrr
rYs
zTomlEncoder.dump_valuecCsd}|dkr,|ddkr,|d7}|j}d}xV|D]N}t|}|}tjd|s{t|}t||tsGd}t||trx'||D]}	t|	trd}qW|rxj||D]"}	d}
|d||d	7}|j|	||\}}|rM|d
dkrC|
|7}
n
||7}x|r|j}
x|D]}|j||||d|\}}|r|
d||d|d7}
|
|7}
x$|D]}|||
|d|<qWqiW|
}qPW||
7}qWq||dk	r||d
t|j	||d7}qE|j
rt||tr||d
|j||7}qE||||<qEW||7}||fS)Nrr)rz^[A-Za-z0-9_-]+$FTrz[[z]]
rrz]
z = r/)
rIr9rematchr?r3rZrKrrYrJrr\)rTr	supretstrretdictarraystrrqsection
arrayoftablesaarraytabstrr&rnewddsecs1d1rrr
rs`




	




)

zTomlEncoder.dump_sectionsN)
__name__
__module____qualname__rZrUrrLr\rYrrrrr
rsrcs%eZdZefddZS)TomlPreserveInlineDictEncodercstt|j|ddS)NT)superrwrU)rTrI)rrr
rUsz&TomlPreserveInlineDictEncoder.__init__)rtrurvrZrUrr)rr
rwsrwcs7eZdZeddfddZddZS)TomlArraySeparatorEncoderFrWcs`tt|j|||jdkr8d|}n|jdrStd||_dS)NrrWz 	

,zInvalid separator for arrays)rxryrUstripr	separator)rTrIrJr{)rrr
rUs
z"TomlArraySeparatorEncoder.__init__cCsg}d}x$|D]}|j|j|qWxx|gkrg}xY|D]Q}t|trx9|D]}|j|qkWqO|dt||j7}qOW|}q6W|d7}|S)NrrVrX)r]rYr3rKr9r{)rTr:trr(r&rrrr
rLs




z#TomlArraySeparatorEncoder.dump_list)rtrurvrZrUrLrr)rr
rysrycs4eZdZedfddZddZS)TomlNumpyEncoderFcsddl}tt|j||t|j|j<t|j|j<t|j|j<|j	|j|j
<|j	|j|j<|j	|j|j<dS)Nr)
numpyrxr~rUrArSfloat16float32float64	_dump_intint16int32int64)rTrIrJnp)rrr
rUszTomlNumpyEncoder.__init__cCsdjt|S)Nz{})r@rN)rTr:rrr
rszTomlNumpyEncoder._dump_int)rtrurvrZrUrrr)rr
r~s
r~cs(eZdZedfddZS)TomlPreserveCommentEncoderFcsFddlm}ttj||fddj|<dS)Nr)CommentValuecs|jjS)N)rrY)r:)rTrr
rG#sz5TomlPreserveCommentEncoder.__init__.<locals>.<lambda>)pip._vendor.toml.decoderrrxrrUrS)rTrIrJr)r)rTr
rU sz#TomlPreserveCommentEncoder.__init__)rtrurvrZrUrr)rr
rsrcs.eZdZddZfddZS)TomlPathlibEncodercCstt|S)N)r?r4)rTr:rrr
_dump_pathlib_path(sz%TomlPathlibEncoder._dump_pathlib_pathcsOdtjkr9ddl}t||jr9t|}tt|j|S)Nrr)rr)	r0r1pathlibr3PurePathr4rxrrY)rTr:r)rrr
rY+s
zTomlPathlibEncoder.dump_value)rtrurvrrYrr)rr
r&sr)r)rPrfr0decimalrrrr1r4r9rrr?rArEobjectrrwryr~rrrrrr
<module>s"4k
Back to Directory File Manager