Current File : //usr/lib/python3/dist-packages/setuptools/command/__pycache__/upload_docs.cpython-312.pyc
�


_�d]���dZddlmZddlmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZddlmZd	d
lmZd�ZGd�d
e�Zy)z|upload_docs

Implements a Distutils 'upload_docs' subcommand (upload documentation to
sites other than PyPi such as devpi).
�)�standard_b64encode)�log)�DistutilsOptionErrorN�)�metadata)�SetuptoolsDeprecationWarning�)�uploadc�&�|jdd�S)Nzutf-8�surrogateescape)�encode)�ss �@/usr/lib/python3/dist-packages/setuptools/command/upload_docs.py�_encoders���8�8�G�.�/�/�c��eZdZdZdZdddejzfddgZejZd�Zd	efgZ	d
�Z
d�Zd�Zd
�Z
ed��Zed��Zd�Zy)�upload_docszhttps://pypi.python.org/pypi/z;Upload documentation to sites other than PyPi such as devpizrepository=�rzurl of repository [default: %s])z
show-responseNz&display full response text from server)zupload-dir=Nzdirectory to uploadc�b�t|jduxrtjdd���S)Nzdistutils.commands�build_sphinx)�group�name)�bool�
upload_dirr�entry_points��selfs r�
has_sphinxzupload_docs.has_sphinx0s2����O�O�t�#�
W��%�%�,@�~�V�
�	
rrc�J�tj|�d|_d|_y)N)r
�initialize_optionsr�
target_dirrs rr zupload_docs.initialize_options8s���!�!�$�'������rc���tjd�tj|�|j��|j�r/|j
d�}t|j�d|_	nc|j
d�}tjj|jd�|_	n"|jd�|j|_	|jd|jz�y)NzWUpload_docs command is deprecated. Use Read the Docs (https://readthedocs.org) instead.r�html�build�docsrzUsing upload directory %s)r�warnr
�finalize_optionsrr�get_finalized_command�dict�builder_target_dirsr!�os�path�join�
build_base�ensure_dirname�announce)rrr$s   rr'zupload_docs.finalize_options=s������
1�	
�	����%��?�?�"���� �#�9�9�.�I��"&�|�'G�'G�"H��"P����2�2�7�;��"$�'�'�,�,�u�/?�/?��"H�������-�"�o�o�D�O��
�
�1�D�O�O�C�Drc��tj|d�}	|j|j�t	j
|j�D]�\}}}||jk(r|sd}t
||jz��|D]�}tjj||�}|t|j�djtjj�}	tjj|	|�}
|j||
�����	|j�y#|j�wxYw)N�wz'no files found in upload directory '%s')�zipfile�ZipFile�mkpathr!r+�walkrr,r-�len�lstrip�sep�write�close)r�filename�zip_file�root�dirs�files�tmplr�full�relative�dests           r�create_zipfilezupload_docs.create_zipfileOs����?�?�8�S�1��	��K�K����(�%'�W�W�T�_�_�%=�
/�!��d�E��4�?�?�*�5�D�D�.�t�d�o�o�/E�F�F�!�/�D��7�7�<�<��d�3�D�#�C����$8�$:�;�B�B�2�7�7�;�;�O�H��7�7�<�<��$�7�D��N�N�4��.�	/�	
/�
�N�N���H�N�N��s�DD0�0Ec���tjddd��|j�D]}|j|��t	j
�}|jjj�}tjj|d|z�}	|j|�|j|�tj|�y#tj|�wxYw)NzDeprecated commanda
            upload_docs is deprecated and will be removed in a future version.
            Instead, use tools like devpi and Read the Docs; or lower level tools like
            httpie and curl to interact directly with your hosting service API.
            )i��	�)�due_datez%s.zip)r�emit�get_sub_commands�run_command�tempfile�mkdtemp�distributionr�get_namer+r,r-rE�upload_file�shutil�rmtree)r�cmd_name�tmp_dirrr=s     r�runzupload_docs.run_s���$�)�)� �
�
#�	
��-�-�/�	'�H����X�&�	'��"�"�$��� � �)�)�2�2�4���7�7�<�<���D��9��	#�����)����X�&��M�M�'�"��F�M�M�'�"�s�"C�C*c#�K�|\}}d|z}t|t�s|g}|D]W}t|t�r|d|dzz
}|d}nt|�}|��t|���d��|��|s�K|dddk(s�Td���Yy�w)	Nz*
Content-Disposition: form-data; name="%s"z; filename="%s"rr	s

����
�
)�
isinstance�list�tupler)�item�sep_boundary�key�values�title�values      r�_build_partzupload_docs._build_partws��������V�=��C���&�$�'��X�F��	�E��%��'��*�U�1�X�5�5���a����������%�.� ��M��K���r�s��u�,���	�s�A*A=�-A=�6A=c�P�d}d|jd�z}|dz}|df}tj|j|��}t	||j��}tjj|�}t
j||�}	d|z}
dj|	�|
fS)	z=
        Build up the MIME payload for the POST data
        z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s
--�asciis--rZ)r_z multipart/form-data; boundary=%sr)
r
�	functools�partialrd�map�items�	itertools�chain�
from_iterabler-)�cls�data�boundaryr_�end_boundary�	end_items�builder�part_groups�parts�
body_items�content_types           r�_build_multipartzupload_docs._build_multipart�s���
I�������!9�9��#�e�+����
�	��#�#��O�O�%�
���'�4�:�:�<�0�����-�-�k�:���_�_�U�I�6�
�9�H�D���x�x�
�#�\�1�1rc��t|d�5}|j�}ddd�|jj}d|j	�t
jj|�fd�}t|jdz|jz�}t|�jd�}d|z}|j|�\}}	d|jz}
|j|
t j"�t$j&j)|j�\}}}
}}}|s|s|rJ�|dk(r t*j,j/|�}n3|d	k(r t*j,j1|�}nt3d
|z��d}	|j5�|j7d|
�|	}|j9d
|�|j9dt;t=|���|j9d|�|j?�|jA|�|jI�}|jJdk(r=d|jJ�d|jL��}
|j|
t j"�n�|jJdk(rL|jOd�}|�d|j	�z}d|z}
|j|
t j"�n<d|jJ�d|jL��}
|j|
t jF�|jPrtSd|j�d�yy#1swY��xYw#tBjD$r3}|jt;|�t jF�Yd}~yd}~wwxYw)N�rb�
doc_upload)z:actionr�content�:rfzBasic zSubmitting documentation to %s�http�httpszunsupported schema ��POSTzContent-typezContent-length�
Authorization��zServer response (z): i-�Locationzhttps://pythonhosted.org/%s/zUpload successful. Visit %szUpload failed (zK---------------------------------------------------------------------------)*�open�readrOrrPr+r,�basenamer�username�passwordr�decoderx�
repositoryr0r�INFO�urllib�parse�urlparser~�client�HTTPConnection�HTTPSConnection�AssertionError�connect�
putrequest�	putheader�strr7�
endheaders�send�socket�error�ERROR�getresponse�status�reason�	getheader�
show_response�print)rr<�fr|�metaro�credentials�auth�body�ct�msg�schema�netloc�url�params�query�	fragments�connrw�er�locations                      rrQzupload_docs.upload_file�s���
�(�D�
!�	�Q��f�f�h�G�	�� � �)�)��#��M�M�O����(�(��2�G�<�
���d�m�m�c�1�D�M�M�A�B��(��5�<�<�W�E���+�%���(�(��.���b�.�$�/�/�B���
�
�c�3�8�8�$�
9?���8M�8M��O�O�9
�5����V�U�I��%�	�9�9��V���;�;�-�-�f�5�D�
�w�
��;�;�.�.�v�6�D� �!6��!?�@�@���	��L�L�N��O�O�F�C�(��L��N�N�>�<�8��N�N�+�S��T��^�<��N�N�?�D�1��O�O���I�I�d�O�

������8�8�s�?�01���!�(�(�C�C��M�M�#�s�x�x�(�
�X�X��_��{�{�:�.�H���9�D�M�M�O�K��/�(�:�C��M�M�#�s�x�x�(��/0�h�h����A�C��M�M�#�s�y�y�)�����(�A�F�F�H�h�/��w	�	��T�|�|�	��M�M�#�a�&�#�)�)�,���	�s$�L2�	B
L?�2L<�?N�)N�NN)�__name__�
__module__�__qualname__�DEFAULT_REPOSITORY�descriptionr
�user_options�boolean_optionsr�sub_commandsr r'rErV�staticmethodrd�classmethodrxrQ�rrrrs���9��O�K�
��-��0I�0I�I�	
�
	J�4��L��,�,�O�
�$�Z�0�1�L��
E�$� #�0����&�2��2�*=0rr)�__doc__�base64r�	distutilsr�distutils.errorsrr+r�r3rMrRrkrg�http.clientr~�urllib.parser��
_importlibr�warningsrr
rrr�rr�<module>r�sL���&��1�	�
���
�����!�3��0�@0�&�@0r