Rec@sdZddlZddlZddlZddlZddlZddlZddlmZddl m Z ddl m Z ddl mZddlmZddlmZmZmZmZmZerd nd Zd d d ZGdddeZdS(upupload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). iN(ustandard_b64encode(uiter_entry_points(ulog(uDistutilsOptionError(uupload(uhttplibuurlparseuunicodeu iteritemsuPY3usurrogateescapeustrictuutf-8cCs#t|tr|j|tS|S(N(u isinstanceuunicodeuencodeuerrors(usuencoding((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyubsubcBs|EeZdZdZdddejfddgZejZd d Z d e fgZ d d Z ddZ ddZ ddZddZdS(u upload_docsuUpload documentation to PyPIu repository=uruurl of repository [default: %s]u show-responseu&display full response text from serveru upload-dir=udirectory to uploadcCs1|jdkr-xtddD]}dSWndS(Nudistutils.commandsu build_sphinxT(u upload_diruNoneuiter_entry_pointsuTrue(uselfuep((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu has_sphinx0suupload_docs.has_sphinxu build_sphinxcCs#tj|d|_d|_dS(N(uuploaduinitialize_optionsuNoneu upload_diru target_dir(uself((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyuinitialize_options7s  uupload_docs.initialize_optionscCstj||jdkrs|jrF|jd}|j|_q|jd}tj j |j d|_n|j d|j|_|j d|jdS(Nu build_sphinxubuildudocsu upload_diruUsing upload directory %s(uuploadufinalize_optionsu upload_diruNoneu has_sphinxuget_finalized_commandubuilder_target_diru target_diruosupathujoinu build_baseuensure_dirnameuannounce(uselfu build_sphinxubuild((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyufinalize_options<s    uupload_docs.finalize_optionsc Cstj|d}z|j|jxtj|jD]\}}}||jkrs| rstd|jnxp|D]h}tjj||}|t |jdj tjj }tjj||} |j || qzWq8WWd|j XdS(Nuwu'no files found in upload directory '%s'(uzipfileuZipFileumkpathu target_diruosuwalkuDistutilsOptionErrorupathujoinulenulstripusepuwriteuclose( uselfufilenameuzip_fileurootudirsufilesunameufullurelativeudest((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyucreate_zipfileJs" (uupload_docs.create_zipfilec Csx!|jD]}|j|q Wtj}|jjj}tjj |d|}z|j ||j |Wdt j |XdS(Nu%s.zip(uget_sub_commandsu run_commandutempfileumkdtempu distributionumetadatauget_nameuosupathujoinucreate_zipfileu upload_fileushutilurmtree(uselfucmd_nameutmp_dirunameuzip_file((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyurun[s  uupload_docs.runcCslt|d}|j}|j|jj}idd6|jd6tjj||fd6}t |j d|j }t |}t r|jd}nd|}d }t d t |} | t d } g} xt|D]\} } d | }t| tr| g} nx| D]}t|tkrZ|d |d7}|d}n t |}| j| | jt || jt d| j||r#|d&dt dkr#| jt dq#q#WqW| j| | jt dt dj| } |jd|jtjt|j\}}}}}}| rk| rk| sqt|dkrtj|}n.|dkrtj|}ntd|d}y{|j|j d|d|}|j!d||j!dt"t#| |j!d||j$|j%| WnBt&j'k rt(j)d}|jt"|tj*dSYnX|j+}|j,dkr|jd|j,|j-ftjnz|j,dkr|j.d }|dkrd!|j}n|jd"|tjn#|jd#|j,|j-ftj*|j0rht1d$d%|jd$d%ndS('Nurbu doc_uploadu:actionunameucontentu:uasciiuBasic u3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254u --u--u* Content-Disposition: form-data; name="%s"u; filename="%s"iiu u u uuSubmitting documentation to %suhttpuhttpsuunsupported schema uPOSTu multipart/form-data; boundary=%su Content-typeuContent-lengthu AuthorizationiuServer response (%s): %si-uLocationuhttps://pythonhosted.org/%s/uUpload successful. Visit %suUpload failed (%s): %su-iKi(2uopenureaducloseu distributionumetadatauget_nameuosupathubasenameubuusernameupasswordustandard_b64encodeuPY3udecodeu iteritemsu isinstanceulistutypeutupleuappendujoinuannounceu repositoryuloguINFOuurlparseuAssertionErroruhttplibuHTTPConnectionuHTTPSConnectionuconnectu putrequestu putheaderustrulenu endheadersusendusocketuerrorusysuexc_infouERRORu getresponseustatusureasonu getheaderuNoneu show_responseuprint(uselfufilenameufucontentumetaudatau credentialsuauthuboundaryu sep_boundaryu end_boundaryubodyukeyuvaluesutitleuvalueuschemaunetlocuurluparamsuqueryu fragmentsuconnu content_typeueurulocation((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu upload_fileis             "  !             uupload_docs.upload_fileN(u show-responseNu&display full response text from server(u upload-dir=Nudirectory to upload(u__name__u __module__u __qualname__u descriptionuuploaduDEFAULT_REPOSITORYuNoneu user_optionsuboolean_optionsu has_sphinxu sub_commandsuinitialize_optionsufinalize_optionsucreate_zipfileurunu upload_file(u __locals__((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu upload_docs#s        u upload_docs(u__doc__uosusocketuzipfileutempfileusysushutilubase64ustandard_b64encodeu pkg_resourcesuiter_entry_pointsu distutilsulogudistutils.errorsuDistutilsOptionErrorudistutils.command.uploaduuploadusetuptools.compatuhttplibuurlparseuunicodeu iteritemsuPY3uerrorsubu upload_docs(((u7/tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyus      (