HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/cwd/usr/local/lib/python3.10/dist-packages/openai/__pycache__/_qs.cpython-310.pyc
o

���g��@s�ddlmZddlmZmZmZmZmZmZddl	m
Z
mZddlm
Z
mZddlmZmZmZddlmZed�Ze
d	Ze
d
ZeeeeedfZeeeeeedfZeeefZGd
d�d�Ze�Z e j!Z!e j"Z"e j#Z#Gdd�d�Z$dS)�)�annotations)�Any�List�Tuple�Union�Mapping�TypeVar)�parse_qs�	urlencode)�Literal�get_args�)�	NOT_GIVEN�NotGiven�
NotGivenOr)�flatten�_T)�comma�repeat�indices�brackets)�dotsrNzMapping[str, Any]c@sreZdZUded<ded<ddd�d%d
d�Zd&dd�Zeed�d'dd�Zeed�d(dd�Zd)dd �Z	d*d"d#�Z
d$S)+�Querystring�ArrayFormat�array_format�NestedFormat�
nested_formatrr�rr�return�NonecCs||_||_dS�Nr)�selfrr�r"�5/usr/local/lib/python3.10/dist-packages/openai/_qs.py�__init__s
zQuerystring.__init__�query�str�Mapping[str, object]cCst|�Sr )r	)r!r%r"r"r#�parse$szQuerystring.parse�params�Params�NotGivenOr[ArrayFormat]�NotGivenOr[NestedFormat]cCst|j|||d��S)Nr)r
�stringify_items�r!r)rrr"r"r#�	stringify(s��zQuerystring.stringify�list[tuple[str, str]]cs*t�||d��t��fdd�|��D��S)N)�qsrrcsg|]\}}��||���qSr")�_stringify_item)�.0�key�value��optsr!r"r#�
<listcomp>Csz/Querystring.stringify_items.<locals>.<listcomp>)�Optionsr�itemsr.r"r6r#r-7s�zQuerystring.stringify_itemsr4r5�Datar7r9c	sHt|t�r0g}|j}|��D]\}}|���|dkr!|�d|��n|�d|�d�||��q|St|ttf�r�|j}|dkrM|d�	�fdd�|D��fgS|d	krdg}|D]}	|���||	|��qU|S|d
krlt
d��|dkr�g}|d
}|D]}	|���||	|��qx|St
d|�dd�	tt��������
|�}
|
s�gS||
fgS)Nr�.�[�]r�,c3s"�|]}|dur��|�VqdSr )�_primitive_value_to_str)r3�item�r!r"r#�	<genexpr>_s� z.Querystring._stringify_item.<locals>.<genexpr>rrz-The array indices format is not supported yetrz[]zUnknown array_format value: z, choose from z, )�
isinstancerrr:�extendr2�list�tupler�join�NotImplementedErrorrrr@)r!r4r5r7r:r�subkey�subvaluerrA�
serialisedr"rBr#r2EsN
$�����

zQuerystring._stringify_item�
PrimitiveDatacCs,|durdS|durdS|durdSt|�S)NT�trueF�false�)r&)r!r5r"r"r#r@ysz#Querystring._primitive_value_to_strN)rrrrrr)r%r&rr')r)r*rr+rr,rr&)r)r*rr+rr,rr0)r4r&r5r;r7r9rr0)r5rMrr&)�__name__�
__module__�__qualname__�__annotations__r$r(rr/r-r2r@r"r"r"r#rs
�
	��
4rc@s4eZdZUded<ded<efeed�ddd
�ZdS)r9rrrrrr1rr+r,rrcCs6t|t�r|jn||_t|t�r|j|_dS||_dSr )rDrrr)r!r1rrr"r"r#r$�s zOptions.__init__N)r1rrr+rr,rr)rQrRrSrT�_qsrr$r"r"r"r#r9�s
��r9)%�
__future__r�typingrrrrrr�urllib.parser	r
�typing_extensionsrr�_typesrrr�_utilsrrrrr&�int�float�boolrMr;r*rrUr(r/r-r9r"r"r"r#�<module>s$ m