U âQab� ã @ s° d Z ddlmZ ddlmZ ddlmZ ddlZddlZddl Z ddl Z ddlZddlZddl Z ddlmZ ddlmZmZ ddlmZ d d lmZ dd„ ZG d d„ deƒZdS )zpupload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). é )Ústandard_b64encode)Úlog)ÚDistutilsOptionErrorN)Úsix)Úhttp_clientÚurllib)Úiter_entry_pointsé )Úuploadc C s t jr dnd}| d|¡S )NÚsurrogateescapeÚstrictzutf-8)r ÚPY3Úencode)ÚsÚerrors© r úB/usr/lib/python3.8/site-packages/setuptools/command/upload_docs.pyÚ_encode s r c @ s‚ e Zd ZdZdZdddej fddgZejZdd „ Zd efgZ dd„ Z d d„ Zdd„ Zdd„ 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 uploadc C s" | j d krtddƒD ]} dS d S )Nzdistutils.commandsÚbuild_sphinxT)Ú upload_dirr )ÚselfZepr r r Ú has_sphinx/ s zupload_docs.has_sphinxr c C s t | ¡ d | _d | _d S )N)r Úinitialize_optionsr Ú target_dir)r r r r r 6 s zupload_docs.initialize_optionsc C sˆ t | ¡ | jd krN| ¡ r0| d¡}|j| _q`| d¡}tj |j d¡| _n| d¡ | j| _d| jkrtt d¡ | d| j ¡ d S )Nr ÚbuildZdocsr zpypi.python.orgz3Upload_docs command is deprecated. Use RTD instead.zUsing upload directory %s)r Úfinalize_optionsr r Zget_finalized_commandZbuilder_target_dirr ÚosÚpathÚjoinZ build_baseZensure_dirnameÚ repositoryr ÚwarnÚannounce)r r r r r r r ; s zupload_docs.finalize_optionsc C s² t |d¡}z–| | j¡ t | j¡D ]x\}}}|| jkrP|sPd}t|| j ƒ‚|D ]H}tj ||¡}|t | jƒd … tjj¡} tj | |¡} | || ¡ qTq&W