U Qab @ s d Z ddlmZ ddlmZ ddlmZ ddlZddlZddl Z ddl Z ddlZddlZddl Z ddlmZ ddlmZmZ ddlmZ d d lmZ dd ZG d d deZdS )zpupload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). )standard_b64encode)log)DistutilsOptionErrorN)six)http_clienturllib)iter_entry_points )uploadc C s t jr dnd}| d|S )Nsurrogateescapestrictzutf-8)r PY3encode)serrors 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 krtddD ]} dS d S )Nzdistutils.commandsbuild_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 ospathjoinZ build_baseZensure_dirname repositoryr warnannounce)r r r r r r r ; s zupload_docs.finalize_optionsc C s t |d}z| | j t| jD ]x\}}}|| jkrP|sPd}t|| j |D ]H}tj ||}|t | jd tjj} tj | |} | || qTq&W