Ñò b-äQc@s6dZddkZddkZddkZddkZddkZddkZddklZddk l Z ddk l Z ddk lZyddklZWn#ej oddklZnXddklZlZlZlZeid jZeo d Znd Zd d „Zdefd„ƒYZdS(spupload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to PyPI's pythonhosted.org). iÿÿÿÿN(tstandard_b64encode(titer_entry_points(tlog(tDistutilsOptionError(tupload(thttplibturlparsetunicodet iteritemst3tsurrogateescapetstrictsutf-8cCs%t|tƒo|i|tƒS|S(N(t isinstanceRtencodeterrors(tstencoding((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pytb&st upload_docscBs{eZdZdddeifddgZeiZd„Zd efgZ d „Z d „Z d „Z d „Z d„ZRS(sUpload documentation to PyPIs repository=trsurl of repository [default: %s]s show-responses&display full response text from servers upload-dir=sdirectory to uploadcCs3|idjoxtddƒD]}tSWndS(Nsdistutils.commandst build_sphinx(t upload_dirtNoneRtTrue(tselftep((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pyt has_sphinx9sRcCs#ti|ƒd|_d|_dS(N(Rtinitialize_optionsRRt target_dir(R((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pyR@s  cCs¨ti|ƒ|idjoZ|iƒo|idƒ}|i|_q|idƒ}ti i |i dƒ|_n|i dƒ|i|_|i d|iƒdS(NRtbuildtdocsRsUsing upload directory %s(Rtfinalize_optionsRRRtget_finalized_commandtbuilder_target_dirRtostpathtjoint build_basetensure_dirnametannounce(RRR((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pyREs    c Csúti|dƒ}zÖ|i|iƒx¿ti|iƒD]«\}}}||ijo| otd|iƒ‚nxj|D]b}tii||ƒ}|t |iƒi tii ƒ}tii||ƒ} |i || ƒq}Wq8WWd|i ƒXdS(Ntws'no files found in upload directory '%s'(tzipfiletZipFiletmkpathRR"twalkRR#R$tlentlstriptseptwritetclose( Rtfilenametzip_filetroottdirstfilestnametfulltrelativetdest((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pytcreate_zipfileSs "cCsŽx!|iƒD]}|i|ƒq Wtiƒ}|iiiƒ}tii |d|ƒ}z|i |ƒ|i |ƒWdt i |ƒXdS(Ns%s.zip(tget_sub_commandst run_commandttempfiletmkdtempt distributiontmetadatatget_nameR"R#R$R;t upload_filetshutiltrmtree(Rtcmd_namettmp_dirR7R3((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pytrunds   c Cst|dƒ}|iƒ}|iƒ|ii}hdd6|iƒd6tii|ƒ|fd6}t |i d|i ƒ}t |ƒ}t id(jo|idƒ}nd |}d }t d ƒt |ƒ} | t d ƒ} g} xt|ƒD]\} } d | }t| ƒtgƒjo | g} nxÂ| D]º}t|ƒtjo |d|d7}|d}n t |ƒ}| i| ƒ| it |ƒƒ| it dƒƒ| i|ƒ|o.|dt dƒjo| it dƒƒq9q9WqöW| i| ƒ| it dƒƒt dƒi| ƒ} |id|itiƒt|iƒ\}}}}}}| o| o| pt‚|djoti|ƒ}n1|djoti|ƒ}ntd|ƒ‚d}ti}yu|iƒ|id|ƒ|i dd|ƒ|i dt!t"| ƒƒƒ|i d|ƒ|i#ƒ|i$| ƒWn@t%i&j o1t i'ƒd}|it!|ƒti(ƒdSX|i)ƒ}|i*djo'|id |i*|i+ftiƒn|i*d!joK|i,d"ƒ}|djod#|iƒ}n|id$|tiƒn$|id%|i*|i+fti(ƒ|i.o d&d'|iƒd&d'fGHndS()Ntrbt doc_uploads:actionR7tcontentt:itasciisBasic s3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s--s* Content-Disposition: form-data; name="%s"s; filename="%s"iis iÿÿÿÿs s tsSubmitting documentation to %sthttpthttpssunsupported schema tPOSTs Content-types multipart/form-data; boundary=%ssContent-lengtht AuthorizationiÈsServer response (%s): %si-tLocationshttps://pythonhosted.org/%s/sUpload successful. Visit %ssUpload failed (%s): %st-iK(i(/topentreadR1R@RARBR"R#tbasenameRtusernametpasswordRtsyst version_infotdecodeRttypettupletappendR$R't repositoryRtINFORtAssertionErrorRtHTTPConnectiontHTTPSConnectiontconnectt putrequestt putheadertstrR-t endheaderstsendtsocketterrortexc_infotERRORt getresponsetstatustreasont getheaderRt show_response(RR2tfRKtmetatdatat credentialstauthtboundaryt sep_boundaryt end_boundarytbodytkeytvaluesttitletvaluetschematnetlocturltparamstqueryt fragmentstconntloglevelteRtlocation((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pyRCrs–              !            N(s show-responseNs&display full response text from server(s upload-dir=Nsdirectory to upload(t__name__t __module__t descriptionRtDEFAULT_REPOSITORYRt user_optionstboolean_optionsRt sub_commandsRRR;RHRC(((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pyR,s        (t__doc__R"RkR)R>RZRDtbase64Rt pkg_resourcesRt distutilsRtdistutils.errorsRtdistutils.command.uploadRt ImportErrortsetuptools.command.uploadtsetuptools.compatRRRRtversiont _IS_PYTHON3RRR(((sD/usr/lib/python2.6/vendor-packages/setuptools/command/upload_docs.pyts*      "