name : upload_docs.cpython-39.pyc
a

��kh��@s�dZddlmZddlmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZddlmZd	d
�ZGdd�de�ZdS)
zpupload_docs

Implements a Distutils 'upload_docs' subcommand (upload documentation to
PyPI's pythonhosted.org).
�)�standard_b64encode)�log)�DistutilsOptionErrorN)�iter_entry_points�)�uploadcCs|�dd�S)Nzutf-8�surrogateescape)�encode)�s�r�B/usr/lib/python3.9/site-packages/setuptools/command/upload_docs.py�_encodesr
c@s�eZdZdZdZdddejfddgZejZdd	�Zd
efgZ	dd�Z
d
d�Zdd�Zdd�Z
edd��Zedd��Zdd�ZdS)�upload_docszhttps://pypi.python.org/pypi/zUpload documentation to PyPIzrepository=�rzurl of repository [default: %s])z
show-responseNz&display full response text from server)zupload-dir=Nzdirectory to uploadcCs"|jdurtdd�D]}dSdS)Nzdistutils.commands�build_sphinxT)�
upload_dirr)�selfZeprrr�
has_sphinx-s
zupload_docs.has_sphinxrcCst�|�d|_d|_dS)N)r�initialize_optionsr�
target_dir)rrrrr4s
zupload_docs.initialize_optionscCs�t�|�|jdurN|��r0|�d�}|j|_q`|�d�}tj�	|j
d�|_n|�d�|j|_d|jvrtt
�d�|�d|j�dS)Nr�buildZdocsrzpypi.python.orgz3Upload_docs command is deprecated. Use RTD instead.zUsing upload directory %s)r�finalize_optionsrrZget_finalized_commandZbuilder_target_dirr�os�path�joinZ
build_baseZensure_dirname�
repositoryr�warn�announce)rrrrrrr9s







zupload_docs.finalize_optionscCs�t�|d�}z�|�|j�t�|j�D]x\}}}||jkrP|sPd}t||j��|D]H}tj�||�}|t	|j�d��
tjj�}	tj�|	|�}
|�||
�qTq&W|�
�n
|�
�0dS)N�wz'no files found in upload directory '%s')�zipfile�ZipFileZmkpathrr�walkrrr�len�lstrip�sep�write�close)r�filename�zip_file�root�dirs�filesZtmpl�nameZfull�relative�destrrr�create_zipfileIszupload_docs.create_zipfilec	Csr|��D]}|�|�qt��}|jj��}tj�	|d|�}z"|�
|�|�|�Wt�
|�nt�
|�0dS)Nz%s.zip)Zget_sub_commandsZrun_command�tempfileZmkdtemp�distribution�metadata�get_namerrrr/�upload_file�shutil�rmtree)rZcmd_nameZtmp_dirr,r(rrr�runYs
zupload_docs.runccs�|\}}d|}t|t�s |g}|D]f}t|t�rL|d|d7}|d}nt|�}|Vt|�VdV|V|r$|dd�dkr$dVq$dS)	Nz*
Content-Disposition: form-data; name="%s"z; filename="%s"rrs

����
�
)�
isinstance�list�tupler
)�item�sep_boundary�key�values�title�valuerrr�_build_partgs



zupload_docs._build_partcCsnd}d|�d�}|d}|df}tj|j|d�}t||���}tj�|�}t�||�}	d|}
d�	|	�|
fS)	z=
        Build up the MIME payload for the POST data
        z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s
--�asciis--r:)r?z multipart/form-data; boundary=%s�)
r	�	functools�partialrD�map�items�	itertools�chain�
from_iterabler)�cls�data�boundaryr?Zend_boundaryZ	end_itemsZbuilderZpart_groups�partsZ
body_items�content_typerrr�_build_multipart{s�zupload_docs._build_multipartc
CsVt|d��}|��}Wd�n1s(0Y|jj}d|��tj�|�|fd�}t|j	d|j
�}t|��d�}d|}|�
|�\}}	d|j}
|�|
tj�tj�|j�\}}}
}}}|s�|s�|r�J�|dkr�tj�|�}n"|d	kr�tj�|�}ntd
|��d}zZ|��|�d|
�|	}|�d
|�|�dtt|���|�d|�|��|� |�Wn<t!j"�y�}z |�t|�tj#�WYd}~dSd}~00|�$�}|j%dk�r�d|j%|j&f}
|�|
tj�nb|j%dk�r|�'d�}|du�rd|��}d|}
|�|
tj�nd|j%|j&f}
|�|
tj#�|j(�rRt)d|��d�dS)N�rbZ
doc_upload)z:actionr,�content�:rEzBasic zSubmitting documentation to %s�http�httpszunsupported schema �ZPOSTzContent-typezContent-lengthZ
Authorization��zServer response (%s): %si-ZLocationzhttps://pythonhosted.org/%s/zUpload successful. Visit %szUpload failed (%s): %szK---------------------------------------------------------------------------)*�open�readr1r2r3rr�basenamer
�username�passwordr�decoderSrrr�INFO�urllib�parse�urlparserWZclientZHTTPConnectionZHTTPSConnection�AssertionErrorZconnectZ
putrequestZ	putheader�strr"Z
endheaders�send�socket�errorZERRORZgetresponse�status�reasonZ	getheaderZ
show_response�print)rr'�frU�metarOZcredentialsZauth�bodyZct�msgZschema�netloc�url�params�queryZ	fragmentsZconnrR�er�locationrrrr4�s`&�
�

zupload_docs.upload_fileN)�__name__�
__module__�__qualname__ZDEFAULT_REPOSITORY�descriptionrZuser_optionsZboolean_optionsrZsub_commandsrrr/r7�staticmethodrD�classmethodrSr4rrrrrs(��


r)�__doc__�base64rZ	distutilsrZdistutils.errorsrrrhrr0r5rKrGZhttp.clientrW�urllib.parserbZ
pkg_resourcesrrr
rrrrr�<module>s 

© 2025 Cubjrnet7