Ë "ô¢M­óÞãó¬—dZddlmZddlmZddlmZddlZddlZddl Z ddl Z ddl Z ddl Z ddl ZddlZddlmZddlmZd d lmZd „ZGd „d e«Zy)z|upload_docs Implements a Distutils 'upload_docs' subcommand (upload documentation to sites other than PyPi such as devpi). é)Ústandard_b64encode)Úlog)ÚDistutilsOptionErrorNé)Úmetadata)ÚSetuptoolsDeprecationWarningé)Úuploadcó&—|jdd«S)Nzutf-8Úsurrogateescape)Úencode)Úss úC/usr/lib/python3.12/site-packages/setuptools/command/upload_docs.pyÚ_encoders€Ø �8‰8�GÐ.Ó /Ð/ócó¤—eZdZdZdZdddejzfddgZejZd„Zd efgZ d „Z d „Z d „Z d „Z ed„«Zed„«Zd„Zy)Ú upload_docszhttps://pypi.python.org/pypi/z;Upload documentation to sites other than PyPi such as devpiz repository=Úrzurl of repository [default: %s])z show-responseNz&display full response text from server)z upload-dir=Nzdirectory to uploadcób—t|jduxrtjdd¬««S)Nzdistutils.commandsÚ build_sphinx)ÚgroupÚname)ÚboolÚ upload_dirrÚ entry_points©Úselfs rÚ has_sphinxzupload_docs.has_sphinx/s2€ÜØ �O‰O˜tÐ #ò WÜ×%Ñ%Ð,@À~ÔVó ð rrcóJ—tj|«d|_d|_y)N)r Úinitialize_optionsrÚ target_dirrs rr zupload_docs.initialize_options7s€Ü×!Ñ! $Ô'؈ŒØˆ�rcóð—tjd«tj|«|j€€|j «r/|j d«}t|j«d|_ nc|j d«}tjj|jd«|_ n"|jd«|j|_ |jd|jz«y)NzWUpload_docs command is deprecated. Use Read the Docs (https://readthedocs.org) instead.rÚhtmlÚbuildÚdocsrzUsing upload directory %s)rÚwarnr Úfinalize_optionsrrÚget_finalized_commandÚdictÚbuilder_target_dirsr!ÚosÚpathÚjoinÚ build_baseÚensure_dirnameÚannounce)rrr$s rr'zupload_docs.finalize_options<s¹€Ü �‰ð 1ô ô ×Ñ Ô%Ø �?‰?Ð "Ø�‰Ô Ø#×9Ñ9¸.ÓI� Ü"& |×'GÑ'GÓ"HÈÑ"P�•à×2Ñ2°7Ó;�Ü"$§'¡'§,¡,¨u×/?Ñ/?ÀÓ"H�•à × Ñ   Ô -Ø"Ÿo™oˆDŒOØ � ‰ Ð1°D·O±OÑCÕDrcóŠ—tj|d«} |j|j«t j |j«D]É\}}}||jk(r|sd}t ||jz«‚|D]“}tjj||«}|t|j«djtjj«} tjj| |«} |j|| «Œ•ŒË |j«y#|j«wxYw)NÚwz'no files found in upload directory '%s')ÚzipfileÚZipFileÚmkpathr!r+Úwalkrr,r-ÚlenÚlstripÚsepÚwriteÚclose) rÚfilenameÚzip_fileÚrootÚdirsÚfilesÚtmplrÚfullÚrelativeÚdests rÚcreate_zipfilezupload_docs.create_zipfileNsì€Ü—?‘? 8¨SÓ1ˆð Ø �K‰K˜Ÿ™Ô (Ü%'§W¡W¨T¯_©_Ö%=Ñ!��d˜Eؘ4Ÿ?™?Ò*±5ØD�DÜ.¨t°d·o±oÑ/EÓFÐFÛ!�DÜŸ7™7Ÿ<™<¨¨dÓ3�DØ#¤C¨¯©Ó$8Ð$:Ð;×BÑBÄ2Ç7Á7Ç;Á;ÓO�HÜŸ7™7Ÿ<™<¨°$Ó7�DØ—N‘N 4¨Õ.ñ "ñ &>ð �N‰NÕ øˆH�N‰NÕ ús ˜DD0Ä0EcóÚ—tjddd¬«|j«D]}|j|«Œt j «}|j jj«}tjj|d|z«} |j|«|j|«tj|«y#tj|«wxYw)NzDeprecated commanda upload_docs is deprecated and will be removed in a future version. Instead, use tools like devpi and Read the Docs; or lower level tools like httpie and curl to interact directly with your hosting service API. )içé é)Údue_datez%s.zip)rÚemitÚget_sub_commandsÚ run_commandÚtempfileÚmkdtempÚ distributionrÚget_namer+r,r-rEÚ upload_fileÚshutilÚrmtree)rÚcmd_nameÚtmp_dirrr=s rÚrunzupload_docs.run^s¼€Ü$×)Ñ)Ø ð ð #õ ð×-Ñ-Ö/ˆHØ × Ñ ˜XÕ &ð0ô×"Ñ"Ó$ˆØ× Ñ ×)Ñ)×2Ñ2Ó4ˆÜ—7‘7—<‘< ¨°D©Ó9ˆð #Ø × Ñ  Ô )Ø × Ñ ˜XÔ &ä �M‰M˜'Õ "øŒF�M‰M˜'Õ "ús Â"CÃC*c#óþK—|\}}d|z}t|t«s|g}|D]W}t|t«r|d|dzz }|d}n t|«}|–—t|«–—d–—|–—|sŒK|dddk(sŒTd–—ŒYy­w) Nz* Content-Disposition: form-data; name="%s"z; filename="%s"rr s éÿÿÿÿó ó )Ú isinstanceÚlistÚtupler)ÚitemÚ sep_boundaryÚkeyÚvaluesÚtitleÚvalues rÚ _build_partzupload_docs._build_partvs“èø€à‰ ˆˆVØ=ÀÑCˆä˜&¤$Ô'Ø�XˆFÛˆEܘ%¤Ô'ØÐ*¨U°1©XÑ5Ñ5�ؘa™‘ä ›�ØÒ ܘ%“.Ò ØŠMØŠKÚ˜˜r˜s˜ uÓ,Ø“ ñùs‚A*A=Á-A=Á6A=cóP—d}d|jd«z}|dz}|df}tj|j|¬«}t ||j ««}t jj|«}t j||«} d|z} dj| «| fS) z= Build up the MIME payload for the POST data z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --Úasciis--rZ)r_z multipart/form-data; boundary=%sr) r Ú functoolsÚpartialrdÚmapÚitemsÚ itertoolsÚchainÚ from_iterabler-) ÚclsÚdataÚboundaryr_Ú end_boundaryÚ end_itemsÚbuilderÚ part_groupsÚpartsÚ body_itemsÚ content_types rÚ_build_multipartzupload_docs._build_multipartŠs¦€ð IˆØ §¡°Ó!9Ñ9ˆ Ø# eÑ+ˆ à Ø ð ˆ ô×#Ñ#Ø �O‰OØ%ô ˆô˜' 4§:¡:£<Ó0ˆ Ü—‘×-Ñ-¨kÓ:ˆÜ—_‘_ U¨IÓ6ˆ Ø9¸HÑDˆ Ø�x‰x˜ Ó# \Ð1Ð1rcóü—t|d«5}|j«}ddd«|jj}d|j «t j j|«fdœ}t|jdz|jz«}t|«jd«}d|z}|j|«\}} d|jz} |j| t j"«t$j&j)|j«\} } } }}}|s|s|rJ‚| dk(r t*j,j/| «}n3| d k(r t*j,j1| «}nt3d | z«‚d } |j5«|j7d | «| }|j9d |«|j9dt;t=|«««|j9d|«|j?«|jA|«|jG«}|jHdk(r=d|jH›d|jJ›�} |j| t j"«n—|jHdk(rL|jMd«}|€d|j «z}d|z} |j| t j"«n¨<Ô 8Ø �N‰NÐ+¬S´°T³«^Ô <Ø �N‰N˜?¨DÔ 1Ø �O‰OÔ Ø �I‰I�dŒOð × Ñ Ó ˆØ �8‰8�s‹?Ø01·³¸!¿(º(ÐCˆCØ �M‰M˜#œsŸx™xÕ (Ø �X‰X˜Š_Ø—{‘{ :Ó.ˆHØÐØ9¸D¿M¹M»OÑK�Ø/°(Ñ:ˆCØ �M‰M˜#œsŸx™xÕ (ð ð/0¯h«h¸¿ºÐAˆCØ �M‰M˜#œsŸy™yÔ )Ø × Ò Ü �(˜AŸF™F›H hÕ /ð ÷w"Ñ !ûôTò Ø �M‰Mœ#˜a›&¤#§)¡)Ô ,Ü ûð ús$�L2Æ B L?Ì2L<Ì? M;Í)M6Í6M;N)Ú__name__Ú __module__Ú __qualname__ÚDEFAULT_REPOSITORYÚ descriptionr Ú user_optionsÚboolean_optionsrÚ sub_commandsr r'rErVÚ staticmethodrdÚ classmethodrxrQ©rrrrs�„ð9ÐàO€Kð Ø Ø -°×0IÑ0IÑ Ið ð JØ4ð€Lð×,Ñ,€Oò ð $ ZÐ0Ð1€Lòò Eò$ò #ð0ñóðð&ñ2óð2ó*=0rr)Ú__doc__Úbase64rÚ distutilsrÚdistutils.errorsrr+r3rMrRrkrgÚ http.clientr~Ú urllib.parser�Ú _importlibrÚwarningsrr rrr¼rrÚrÅsIðñõ &ÝÝ1Û ÛÛÛ ÛÛÛÛå!Ý3åò0ô@0�&õ@0r