HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/lib/python3.9/site-packages/pip/_vendor/toml/__pycache__/encoder.cpython-39.pyc
a

?�f�&�@s�ddlZddlZddlZddlmZddlmZejdkr>eZ	ddd�Z
ddd�Zd	d
�Zdd�Z
d
d�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZdS)�N)�Decimal)�InlineTableDict��cCs(|jstd��t||d�}|�|�|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 descriptor)�encoder)�write�	TypeError�dumps)�o�fr�d�r
�</usr/lib/python3.9/site-packages/pip/_vendor/toml/encoder.py�dumps

rcCs�d}|durt|j�}|�|d�\}}||7}t|�g}|r�dd�|D�}|D]}||vrNtd��qN||7}|��}|D]z}	|�||	|	�\}}
|s�|s�|
s�|r�|dd�dkr�|d7}|d	|	d
7}|r�||7}|
D]}|
|||	d|<q�qx|}q8|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)�.0�sectionr
r
r�
<listcomp>@�zdumps.<locals>.<listcomp>zCircular reference detected���z

�
�[�]
�.)�TomlEncoder�	__class__�
dump_sectionsr�
ValueError�get_empty_table)r
r�retvalZaddtoretvalZsectionsZ
outer_objsZsection_idsZ	outer_objZnewsectionsrZ
addtosections�sr
r
rr	"s6


�r	cCsXtjdkr(t|d�r(t|t�r(|�d�}d|}|ddkrH|dd�}|�d�}|s`|�d	�rl|dd
�}|r�|�dd�}|�d	d�}|�d
�}t	|�dk�rDd
}|ds�|dd�}|d�dd�|d<|d|dk}|dd|��r|d|dk�r|}|d8}q�|�rd}nd}|d||dg|dd�}q�t
d	|dd	�S)Nr�decodezutf-8z%rr�u��'�"���z\'z\"z\xz\\�\�xZu00�)�sys�version_info�hasattr�
isinstance�strr"�
startswith�replace�split�len�unicode)�vZsinglequote�iZjoinxZjoinerr
r
r�	_dump_strVs4


$
$r7cCsd�|��dd��dd�S)N�{}ze+0ze+ze-0ze-)�formatr1�r5r
r
r�_dump_floatusr;cCs(|��}|dur|��S|��dd�S)Ni����)�	utcoffset�	isoformat)r5r<r
r
r�
_dump_timeysr>c@sBeZdZedfdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dS)rFcCsV||_||_ttttt|jtdd�tdd�t	t
tt
tjdd�tj
ttjdd�i
|_dS)NcSst|���S�N)r4�lowerr:r
r
r�<lambda>�rz&TomlEncoder.__init__.<locals>.<lambda>cSs|Sr?r
r:r
r
rrA�rcSs|���dd�S)Nz+00:00�Z)r=r1r:r
r
rrA�rcSs|��Sr?)r=r:r
r
rrA�r)�_dict�preserver/r7r4�list�	dump_list�bool�int�floatr;r�datetime�timer>�date�
dump_funcs)�selfrCrDr
r
r�__init__�s

�zTomlEncoder.__init__cCs|��Sr?)rC�rNr
r
rr�szTomlEncoder.get_empty_tablecCs4d}|D]}|dt|�|��d7}q|d7}|S)Nr� �,�])r4�
dump_value)rNr5r r#r
r
rrF�s
zTomlEncoder.dump_listcCsld}t|t�rZg}|��D]$\}}|�|�}|�|d|�q|dd�|�d7}|St|�|��SdS)z�Preserve inline table in its compact syntax instead of expanding
        into subsection.

        https://github.com/toml-lang/toml#user-content-inline-table
        r� = z{ z, z }
N)r.�dict�items�dump_inline_table�append�joinr4rT)rNrr Zval_list�kr5�valr
r
rrX�s

zTomlEncoder.dump_inline_tablecCsJ|j�t|��}|dur,t|d�r,|jt}|dur<||�S|jt|�S)N�__iter__)rM�get�typer-rEr/)rNr5Zdump_fnr
r
rrT�s
zTomlEncoder.dump_valuecCsd}|dkr |ddkr |d7}|��}d}|D�]�}t|�}|}t�d|�sVt|�}t||t��s�d}t||t�r�||D]}	t|	t�r�d}q�|�r�||D]�}	d}
|d||d	7}|�|	||�\}}|r�|d
dkr�|
|7}
n||7}|�r~|��}
|D]p}|�||||d|�\}}|�rT|
d||d|d7}
|
|7}
|D]}|||
|d|<�qX�q|
}q�||
7}q�n0||du�r�||d
t|�	||��d7}q0|j
�r�t||t��r�||d
|�||�7}q0||||<q0||7}||fS)Nrr'rz^[A-Za-z0-9_-]+$FTrz[[z]]
rrrrU)
rCr4�re�matchr7r.rVrErrTrDrrX)rNr
ZsupZretstrZretdictZarraystrrZqsectionZ
arrayoftables�aZarraytabstrr!rZnewdZdsec�s1Zd1r
r
rr�sz


���
������zTomlEncoder.dump_sectionsN)
�__name__�
__module__�__qualname__rVrOrrFrXrTrr
r
r
rr�srcs eZdZef�fdd�	Z�ZS)�TomlPreserveInlineDictEncodercstt|��|d�dS)NT)�superrgrO)rNrC�rr
rrO�sz&TomlPreserveInlineDictEncoder.__init__�rdrerfrVrO�
__classcell__r
r
rirrg�srgcs,eZdZeddf�fdd�	Zdd�Z�ZS)�TomlArraySeparatorEncoderFrRcsDtt|��||�|��dkr(d|}n|�d�r:td��||_dS)NrrRz 	

,zInvalid separator for arrays)rhrlrO�stripr�	separator)rNrCrDrnrir
rrO�s

z"TomlArraySeparatorEncoder.__init__cCs�g}d}|D]}|�|�|��q|gkrtg}|D]:}t|t�rV|D]}|�|�qDq2|dt|�|j7}q2|}q"|d7}|S)NrrQrS)rYrTr.rEr4rn)rNr5�tr r#r!�rr
r
rrF�s
z#TomlArraySeparatorEncoder.dump_list)rdrerfrVrOrFrkr
r
rirrl�srlcs*eZdZedf�fdd�	Zdd�Z�ZS)�TomlNumpyEncoderFcslddl}tt|��||�t|j|j<t|j|j<t|j|j<|j	|j|j
<|j	|j|j<|j	|j|j<dS)Nr)
ZnumpyrhrqrOr;rMZfloat16Zfloat32Zfloat64�	_dump_intZint16Zint32Zint64)rNrCrDZnprir
rrOszTomlNumpyEncoder.__init__cCsd�t|��S)Nr8)r9rH�rNr5r
r
rrrszTomlNumpyEncoder._dump_int)rdrerfrVrOrrrkr
r
rirrqs
rqcs"eZdZedf�fdd�	Z�ZS)�TomlPreserveCommentEncoderFcs4ddlm}tt���||��fdd��j|<dS)Nr)�CommentValuecs|��j�Sr?)rrTr:rPr
rrA#rz5TomlPreserveCommentEncoder.__init__.<locals>.<lambda>)�pip._vendor.toml.decoderrurhrtrOrM)rNrCrDrurirPrrO sz#TomlPreserveCommentEncoder.__init__rjr
r
rirrtsrtcs$eZdZdd�Z�fdd�Z�ZS)�TomlPathlibEncodercCstt|��Sr?)r7r/rsr
r
r�_dump_pathlib_path(sz%TomlPathlibEncoder._dump_pathlib_pathcs6dtjkr&ddl}t||j�r&t|�}tt|��|�S)N)r�r)	r+r,�pathlibr.�PurePathr/rhrwrT)rNr5rzrir
rrT+s

zTomlPathlibEncoder.dump_value)rdrerfrxrTrkr
r
rirrw&srw)N)N)rJr`r+Zdecimalrrvrr,r/r4rr	r7r;r>�objectrrgrlrqrtrwr
r
r
r�<module>s"


4k