← back to Atmos Game

assets/gen/.venv/lib/python3.12/site-packages/gradio_client/__pycache__/snippet.cpython-312.pyc

57 lines

�

c�bj�!��N�dZddlZddlZddlZddlmZhd�Zdedefd�Zdedefd�Z	dedefd	�Z
dedefd
�ZdZdede
fd�Zd
ede
dzde
de
fd�Zdedefd�Zde
deede
de
fd�Zde
deede
de
fd�Z	dde
deede
de
de
f
d�Z		dde
dede
de
dzde
dee
e
ffd�Zy) z�Centralized code snippet generation for Gradio API endpoints. Generates Python, JavaScript, and cURL code snippets from API info dicts.�N)�Any>�File�Audio�Image�Video�Model3D�ImageSlider�UploadButton�DownloadButton�obj�returnc���t|t�xrWd|vxrQ|jd�xr>d|vxr8t|jd�t�xr|djd�dk(S)N�url�meta�_type�gradio.FileData)�
isinstance�dict�get�rs �l/Users/macstudio3/Projects/atmos-game/assets/gen/.venv/lib/python3.12/site-packages/gradio_client/snippet.py�
_is_file_datarsq���3���	:��S�L�	:��G�G�E�N�	:�
�c�M�	:�
�s�w�w�v���-�		:�

��K�O�O�G�$�(9�9�
�c���t|t�r,t|�rytd�|j	�D��St|t
tf�rtd�|D��Sy)NTc3�2K�|]}t|����y�w�N��_has_file_data)�.0�vs  r�	<genexpr>z!_has_file_data.<locals>.<genexpr>#s����;�l��>�!�$�l���c3�2K�|]}t|����y�wrr)r�items  rr!z!_has_file_data.<locals>.<genexpr>%s����8�C�D�>�$�'�C�r"F)rrr�any�values�list�tuplers rrrsP���#�t�������;�c�j�j�l�;�;�;��#��e�}�%��8�C�8�8�8�rc�<�t|t�rt|�r	d|d�d�St|ttf�r|D�cgc]
}t|���c}St|t�r-|j
�D��cic]\}}|t|���c}}S|Scc}wcc}}w)Nz
handle_file('rz'))rrrr'r(�_replace_file_data_py�items�rr$�kr s    rr*r*)s����#�t���s�!3��s�5�z�l�"�-�-��#��e�}�%�8;�<���%�d�+��<�<��#�t��8;�	�	��D����1��(��+�+��D�D��J��=��Ds�B�7Bc�>�t|t�rt|�r
|dddid�St|ttf�r|D�cgc]
}t|���c}St|t�r-|j
�D��cic]\}}|t|���c}}S|Scc}wcc}}w)Nrrr)�pathr)rrrr'r(�_simplify_file_datar+r,s    rr0r03s����#�t���s�!3��E�
�W�6G�,H�I�I��#��e�}�%�69�:�c�d�#�D�)�c�:�:��#�t��69�i�i�k�B�k�d�a���&�q�)�)�k�B�B��J��;��Bs�B�8B�UNQUOTED_GRADIO_c�L��dtdtf�fd���|�}tj|t��}t	j
dt�d�d|�}|jdt�d�d	�}|jdt�d
�d�}|jdt�d�d
�}|S)N�or
c����|�	t�d�St|t�r|r	t�d�St�d�St|t�r,|j	d�r|jd�r
t�|��St|ttf�r|D�cgc]
}�|���c}St|t�r*|j�D��cic]\}}|�|���c}}S|Scc}wcc}}w)N�None�True�Falsezhandle_file(�))
�	_UNQUOTEDr�bool�str�
startswith�endswithr'r(rr+)r3r$r-r �_prepares    �rr>z_stringify_py.<locals>._prepareAs�����9��[��%�%��a���)*�i�[��%�C�9�+�U�0C�C��a���!�,�,�~�">�1�:�:�c�?��[���$�$��a�$���'�/0�1�q�t�H�T�N�q�1�1��a���/0�w�w�y�9�y�t�q�!�A�x��{�N�y�9�9����2��9s�C�<C)�default�"z(handle_file\([^)]*\))"z\1zNone"r5zTrue"r6zFalse"r7)r�json�dumpsr;�re�subr9�replace)r�prepared�resultr>s   @r�
_stringify_pyrH@s�����C��C����}�H�
�Z�Z��#�
.�F�
�V�V��Y�K�.�/�
���F�
�^�^�a�	�{�%�0�&�
9�F�
�^�^�a�	�{�%�0�&�
9�F�
�^�^�a�	�{�&�1�7�
;�F��Mr�value�python_type�langc�
�|�	|dk(rdSdS|�	|dk(rdSdS|dvrd|�d�S|dk(rt|�S|dvr?|dk(r|rdSd	St|t�rt|�j�St|�S|d
k(rt	j
|�S|j
d�rd|�d�St|t�r|dk(r	|dk(rdSdS|Stj|�}|d
k(rt|�}|dk(rt|�}t|�S)N�pyr5�null)�stringr;r@�number)�booleanr:r6r7z	List[str]z	Literal['��bash)r;rr:�lowerrArBr<�copy�deepcopyr0r*rH)rIrJrKs   r�_represent_valuerW[s/�������v�1�6�1��}����v�1�6�1��'�'��5�'��|���h���5�z���)�)��4�<�"�6�/��/�%/��t�%<�s�5�z���!�L�#�e�*�L��k�!��z�z�%� � ����k�*��5�'��|���%����B�;�!�T�\�6�5�v�5����M�M�%� �E��v�~�#�E�*���t�|�%�e�,�����r�paramc�h�|jd�r|jd�S|jd�S)N�parameter_has_default�parameter_default�
example_input)r)rXs r�_get_param_valuer]zs.���y�y�(�)��y�y�,�-�-��9�9�_�%�%r�api_name�params�srcc�<�td�|D��}d}|r|dz
}|dg}|jd|�d��g}|D]x}|jd�xs|jdd	�}t|�}	|jd
i�jd�}
t	|	|
d�}|jd
|�d|�d���z|jd�|j|�|jd|�d��|jd�|jd�dj
|�S)Nc3�PK�|]}t|jd����� y�w�r\N�rr�r�ps  rr!z*generate_python_snippet.<locals>.<genexpr>������J�6�a�>�!�%�%��"8�9�6���$&z from gradio_client import Clientz
, handle_filerRzclient = Client("z")�parameter_name�label�inputrJ�typerM�	�=�,zresult = client.predict(z	api_name="z",r8z
print(result)�
)r%�appendrr]rW�extend�join)r^r_r`�has_file�imports�lines�predict_argsrf�namerI�ptype�	formatteds            r�generate_python_snippetr{�s��
�J�6�J�J�H�0�G���?�"��
�b�M�E�	�L�L�$�S�E��,�-��L�
���u�u�%�&�A�!�%�%���*A�� ��#�����m�R�(�,�,�V�4��$�U�E�4�8�	����b���a�	�{�!�4�5��
�L�L�+�,�	�L�L���	�L�L�<��z��,�-�	�L�L���	�L�L��!��9�9�U��rc�>�|D�cgc]}|jd�tvs�|��}}ddg}t|�D]}\}}|jdi�}t|t�r|jdd�nd}	|jdd�}
|jd|�d|	�d��|jd	|
�d
|�d���|r|jd�|jd|�d��|D�chc]}|jd���}}g}|D]�}|jd
�xs|jdd�}
|jdd�}
|
|vr|jd|
�d|
�d���Wt
|�}|jdi�jd�}t||d�}|jd|
�d|�d����|jd|�d��|j|�|jd�|jd�|jd�dj|�Scc}wcc}w)N�	componentz(import { Client } from "@gradio/client";rRr\rzconst response_z = await fetch("z");z
const examplez = await response_z.blob();z%const client = await Client.connect("rirjrkz		z	: examplerorJrl�jsz: z%const result = await client.predict("z", {z});zconsole.log(result.data);rp)
r�BLOB_COMPONENTS�	enumeraterrrqr]rWrrrs)r^r_r`rf�blob_paramsrv�i�bp�examplerr}�blob_component_namesrwrxrIryrzs                 r�generate_js_snippetr��s��
%�N�f�����k�(:�o�(M�1�f�K�N�
7��<�E��;�'���2��&�&��"�-��(2�7�D�(A�g�k�k�%��$�r���F�F�;��+�	�
����q�c�)9�#��c�B�C�
���}�Y�K�/A�!��H�M�N�(��
���R��	�L�L�8���S�A�B�:E�F�+�B�B�F�F�;�/�+��F��L�
���u�u�%�&�A�!�%�%���*A���E�E�+�r�*�	��,�,����$�t�f�I�i�[�� B�C�$�Q�'�E��E�E�-��,�0�0��8�E�(���t�<�I����$�t�f�B�y�k�� ;�<��
�L�L�8��
�%�H�I�	�L�L���	�L�L���	�L�L���	�L�L�,�-��9�9�U����IO�� Gs�H�H�#H�root�
api_prefixc��|jd�}|r|nd}|jd�}td�|D��}|�|�d�}g}	g}
|r~|D]S}t|j	d��s�|j	d�xs|j	dd�}|
j|��U|	jd|�d	��|	jd
�i}
|D]o}|j	d�xs|j	dd�}||
vrd|
|<�2t
|�}|j	di�j	d
�}t||d�}||
|<�qdjd�|
j�D��}d|zdz}|
D]}d}|jd|�}�|�|�d|��}|�|�d|��}|	jd|�d�d|�d�dd|�d�g�dj|	�S)N�/c3�PK�|]}t|jd����� y�wrcrdres  rr!z(generate_bash_snippet.<locals>.<genexpr>�rgrh�uploadr\rirjrkzFILE_PATH=$(curl -s -X POST z/ -F 'files=@/path/to/your/file' | tr -d '[]" ')rR�FILE_PATH_PLACEHOLDERrJrlrSz, c3�2K�|]\}}d|�d|�����y�w)r@z": N�)rr-r s   rr!z(generate_bash_snippet.<locals>.<genexpr>�s#����I�7H�t�q�!�q���3�q�c�]�7H�r"�{�}z>{"path": "'$FILE_PATH'", "meta": {"_type": "gradio.FileData"}}zcall/v2/zcall/z
curl -X POST z) -s -H "Content-Type: application/json" \z  -d 'z' \z  | awk -F'"' '{ print $4}' \z  | read EVENT_ID; curl -N z
/$EVENT_IDrp)�rstrip�lstripr%rrrqr]rWrsr+rErr)r^r_r�r��normalised_root�normalised_prefix�
endpoint_namert�
upload_urlrv�file_param_namesrfrx�	data_dictrIryrz�data_entries�data_str�_�replacement�base_url�get_urls                       r�generate_bash_snippetr��s���k�k�#�&�O�&0�
�c���O�O�C�(�M��J�6�J�J�H�#�$�%6�$7�v�>�J��E�"$����A��a�e�e�O�4�5��u�u�-�.�I�!�%�%���2I�� �'�'��-��	���*�:�,�
 �
 �	
�
	���R���I�
���u�u�%�&�A�!�%�%���*A���#�#�5�I�d�O�$�Q�'�E��E�E�-��,�0�0��8�E�(���v�>�I�'�I�d�O���9�9�I�y���7H�I�I�L��\�!�C�'�H�
��X���#�#�$;�[�I���"�"�#4�"5�X�m�_�M�H� �!�"3�!4�E�-��I�G�	�L�L��H�:�%O�P��X�J�d�#�-�)�'��*�=�		
���9�9�U��r�
endpoint_info�space_idc��|jdg�}|xs|}t|||�t|||�t||||�d�S)N�
parameters)�python�
javascriptrS)rr{r�r�)r^r�r�r�r�r_r`s       r�generate_code_snippetsr�sR���
�
�|�R�
0�F�
�
�d�C�*�(�F�C�@�)�(�F�C�@�%�h���j�I��r)r�)Nr�)�__doc__rUrArC�typingrrr:rrr*r0r9r;rHrWrr]r'r{r�r�r�r�rr�<module>r�s���N���	��	���s��t��������s��s���S��S��
�	��s��s��6 �C� �c�D�j� �� �� �>&�D�&�S�&������J��

��	�	�<)��)���J�)�

�)�	�	)�`�	9��9���J�9��9��	9�
	�9�@ ����������D�j�	�
��
�#�s�(�^�
r