§
    Á³g.  ã                   óÄ   — d Z ddlmZ ddlmZ ddlmZ ddlZddlZddl	Z	ddl
Z
ddlZddlZddlZddlZddlZddlZddlmZ ddlmZ d	d
lmZ d„ Z G d„ de¦  «        ZdS )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                 ó.   — |                       dd¦  «        S )Nzutf-8Úsurrogateescape)Úencode)Úss    ú\/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/setuptools/command/upload_docs.pyÚ_encoder      s   € Ø�8Š8�GÐ.Ñ/Ô/Ð/ó    c                   óž   — e Zd ZdZdZdddej        z  fddgZej        Zd„ Zd	efgZ	d
„ Z
d„ Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Zd„ ZdS )Úupload_docszhttps://pypi.python.org/pypi/z;Upload documentation to sites other than PyPi such as devpizrepository=Úrzurl of repository [default: %s])zshow-responseNz&display full response text from server)zupload-dir=Nzdirectory to uploadc                 óZ   — t          | j        d u ot          j        dd¬¦  «        ¦  «        S )Nzdistutils.commandsÚbuild_sphinx)ÚgroupÚname)ÚboolÚ
upload_dirr   Úentry_points©Úselfs    r   Ú
has_sphinxzupload_docs.has_sphinx/   s8   € ÝØŒO˜tÐ#ð WÝÔ%Ð,@À~ÐVÑVÔVñ
ô 
ð 	
r   r   c                 óJ   — t          j        | ¦  «         d | _        d | _        d S )N)r
   Úinitialize_optionsr   Ú
target_dirr   s    r   r    zupload_docs.initialize_options7   s%   € ÝÔ! $Ñ'Ô'Ð'ØˆŒØˆŒˆˆr   c                 óò  — t          j        d¦  «         t          j        | ¦  «         | j        €‰|                      ¦   «         r5|                      d¦  «        }t          |j        ¦  «        d         | _	        na|                      d¦  «        }t          j                             |j        d¦  «        | _	        n!|                      d¦  «         | j        | _	        |                      d| j	        z  ¦  «         d S )NzWUpload_docs command is deprecated. Use Read the Docs (https://readthedocs.org) instead.r   ÚhtmlÚbuildÚdocsr   zUsing upload directory %s)r   Úwarnr
   Úfinalize_optionsr   r   Úget_finalized_commandÚdictÚbuilder_target_dirsr!   ÚosÚpathÚjoinÚ
build_baseÚensure_dirnameÚannounce)r   r   r$   s      r   r'   zupload_docs.finalize_options<   sá   € ÝŒð1ñ	2ô 	2ð 	2õ 	Ô Ñ%Ô%Ð%ØŒ?Ð"Ø�ŠÑ Ô ð IØ#×9Ò9¸.ÑIÔI�Ý"& |Ô'GÑ"HÔ"HÈÔ"P�”�à×2Ò2°7Ñ;Ô;�Ý"$¤'§,¢,¨uÔ/?ÀÑ"HÔ"H�”�à×Ò Ñ-Ô-Ð-Ø"œoˆDŒOØ�ŠÐ1°D´OÑCÑDÔDÐDÐDÐDr   c                 ó€  — t          j        |d¦  «        }	 |                      | j        ¦  «         t	          j        | j        ¦  «        D ]Å\  }}}|| j        k    r|sd}t          || j        z  ¦  «        ‚|D ]–}t          j                             ||¦  «        }|t          | j        ¦  «        d …          
                    t          j        j        ¦  «        }	t          j                             |	|¦  «        }
|                     ||
¦  «         Œ—ŒÆ	 |                     ¦   «          d S # |                     ¦   «          w xY w)NÚwz'no files found in upload directory '%s')ÚzipfileÚZipFileÚmkpathr!   r+   Úwalkr   r,   r-   ÚlenÚlstripÚsepÚwriteÚclose)r   ÚfilenameÚzip_fileÚrootÚdirsÚfilesÚtmplr   ÚfullÚrelativeÚdests              r   Úcreate_zipfilezupload_docs.create_zipfileM   s.  € Ý”? 8¨SÑ1Ô1ˆð	Ø�KŠK˜œÑ(Ô(Ð(Ý%'¤W¨T¬_Ñ%=Ô%=ð /ð /Ñ!��d˜EØ˜4œ?Ò*Ð*°5Ð*ØD�DÝ.¨t°d´oÑ/EÑFÔFÐFØ!ð /ð /�DÝœ7Ÿ<š<¨¨dÑ3Ô3�DØ#¥C¨¬Ñ$8Ô$8Ð$9Ð$9Ô:×AÒAÅ"Ä'Ä+ÑNÔN�HÝœ7Ÿ<š<¨°$Ñ7Ô7�DØ—N’N 4¨Ñ.Ô.Ð.Ð.ð	/ð	/ð �NŠNÑÔÐÐÐøˆH�NŠNÑÔÐÐøøøs   —C9D' Ä'D=c                 óê  — t          j        dt          ¦  «         |                      ¦   «         D ]}|                      |¦  «         Œt          j        ¦   «         }| j        j         	                    ¦   «         }t          j                             |d|z  ¦  «        }	 |                      |¦  «         |                      |¦  «         t          j        |¦  «         d S # t          j        |¦  «         w xY w)Nziupload_docs is deprecated and will be removed in a future version. Use tools like httpie or curl instead.z%s.zip)Úwarningsr&   r   Úget_sub_commandsÚrun_commandÚtempfileÚmkdtempÚdistributionr   Úget_namer+   r,   r-   rE   Úupload_fileÚshutilÚrmtree)r   Úcmd_nameÚtmp_dirr   r=   s        r   Úrunzupload_docs.run]   sé   € ÝŒð>å(ñ	
ô 	
ð 	
ð ×-Ò-Ñ/Ô/ð 	'ð 	'ˆHØ×Ò˜XÑ&Ô&Ð&Ð&åÔ"Ñ$Ô$ˆØÔ Ô)×2Ò2Ñ4Ô4ˆÝ”7—<’< ¨°D©Ñ9Ô9ˆð	#Ø×Ò Ñ)Ô)Ð)Ø×Ò˜XÑ&Ô&Ð&åŒM˜'Ñ"Ô"Ð"Ð"Ð"ø�FŒM˜'Ñ"Ô"Ð"Ð"øøøs   Â*C ÃC2c              #   ó0  K  — | \  }}d|z  }t          |t          ¦  «        s|g}|D ]n}t          |t          ¦  «        r|d|d         z  z  }|d         }nt          |¦  «        }|V — t          |¦  «        V — dV — |V — |r|dd …         dk    rdV — Œod S )	Nz*
Content-Disposition: form-data; name="%s"z; filename="%s"r   r	   s   

éÿÿÿÿó   ó   
)Ú
isinstanceÚlistÚtupler   )ÚitemÚsep_boundaryÚkeyÚvaluesÚtitleÚvalues         r   Ú_build_partzupload_docs._build_partq   sÛ   è è € à‰ˆˆVØ=ÀÑCˆå˜&¥$Ñ'Ô'ð 	Ø�XˆFØð 	ð 	ˆEÝ˜%¥Ñ'Ô'ð 'ØÐ*¨U°1¬XÑ5Ñ5�Ø˜aœ��å ™œ�ØÐÐÐÝ˜%‘.”.Ð Ð Ð ØˆMˆMˆMØˆKˆKˆKØð ˜˜r˜s˜sœ uÒ,Ð,Ø���øð	ð 	r   c                 ób  — d}d|                      d¦  «        z   }|dz   }|df}t          j        | j        |¬¦  «        }t	          ||                     ¦   «         ¦  «        }t          j                             |¦  «        }t          j        ||¦  «        }	d|z  }
d 	                    |	¦  «        |
fS )	z=
        Build up the MIME payload for the POST data
        z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s   
--Úasciis   --rW   )r\   z multipart/form-data; boundary=%sr   )
r   Ú	functoolsÚpartialra   ÚmapÚitemsÚ	itertoolsÚchainÚfrom_iterabler-   )ÚclsÚdataÚboundaryr\   Úend_boundaryÚ	end_itemsÚbuilderÚpart_groupsÚpartsÚ
body_itemsÚcontent_types              r   Ú_build_multipartzupload_docs._build_multipart…   s³   € ð
 IˆØ §¢°Ñ!9Ô!9Ñ9ˆØ# eÑ+ˆØ  %Ð(ˆ	ÝÔ#ØŒOØ%ð
ñ 
ô 
ˆõ ˜' 4§:¢:¡<¤<Ñ0Ô0ˆÝ”×-Ò-¨kÑ:Ô:ˆÝ”_ U¨IÑ6Ô6ˆ
Ø9¸HÑDˆØ�xŠx˜
Ñ#Ô# \Ð1Ð1r   c                 óR  — t          |d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   | j        j        }d|                     ¦   «         t
          j                             |¦  «        |fdœ}t          | j	        dz   | j
        z   ¦  «        }t          |¦  «                             d¦  «        }d|z   }|                      |¦  «        \  }}	d| j        z  }
|                      |
t           j        ¦  «         t$          j                             | j        ¦  «        \  }}}}}}|s|s|rJ ‚|dk    r t*          j                             |¦  «        }n8|d	k    r t*          j                             |¦  «        }nt3          d
|z   ¦  «        ‚d}	 |                     ¦   «          |                     d|¦  «         |	}|                     d|¦  «         |                     dt;          t=          |¦  «        ¦  «        ¦  «         |                     d|¦  «         |                     ¦   «          |                      |¦  «         nJ# tB          j"        $ r8}|                      t;          |¦  «        t           j#        ¦  «         Y d }~d S d }~ww xY w| $                    ¦   «         }|j%        dk    r3d|j%        ›d|j&        ›�}
|                      |
t           j        ¦  «         n‘|j%        dk    rT| '                    d¦  «        }|€d|                     ¦   «         z  }d|z  }
|                      |
t           j        ¦  «         n2d|j%        ›d|j&        ›�}
|                      |
t           j#        ¦  «         | j(        r%tS          d|                     ¦   «         d¦  «         d S d S )NÚrbÚ
doc_upload)z:actionr   Úcontentú:rc   zBasic zSubmitting documentation to %sÚhttpÚhttpszunsupported schema Ú ÚPOSTzContent-typezContent-lengthÚAuthorizationéÈ   zServer response (z): i-  ÚLocationzhttps://pythonhosted.org/%s/zUpload successful. Visit %szUpload failed (zK---------------------------------------------------------------------------)*ÚopenÚreadrL   r   rM   r+   r,   Úbasenamer   ÚusernameÚpasswordr   Údecoderu   Ú
repositoryr0   r   ÚINFOÚurllibÚparseÚurlparser{   ÚclientÚHTTPConnectionÚHTTPSConnectionÚAssertionErrorÚconnectÚ
putrequestÚ	putheaderÚstrr7   Ú
endheadersÚsendÚsocketÚerrorÚERRORÚgetresponseÚstatusÚreasonÚ	getheaderÚshow_responseÚprint)r   r<   Úfry   Úmetarl   ÚcredentialsÚauthÚbodyÚctÚmsgÚschemaÚnetlocÚurlÚparamsÚqueryÚ	fragmentsÚconnrt   Úer   Úlocations                         r   rN   zupload_docs.upload_file˜   s­  € Ý�(˜DÑ!Ô!ð 	 QØ—f’f‘h”hˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	àÔ Ô)ˆà#Ø—M’M‘O”OÝœ×(Ò(¨Ñ2Ô2°GÐ<ð
ð 
ˆõ ˜dœm¨cÑ1°D´MÑAÑBÔBˆÝ(¨Ñ5Ô5×<Ò<¸WÑEÔEˆØ˜+Ñ%ˆà×(Ò(¨Ñ.Ô.‰ˆˆbà.°$´/ÑBˆØ�Š�c�3œ8Ñ$Ô$Ð$õ ŒL×!Ò! $¤/Ñ2Ô2ñ 	6ˆ�˜˜V U¨IàÐ9 %Ð9°	Ð9Ð9Ð9Ø�VÒÐÝ”;×-Ò-¨fÑ5Ô5ˆDˆDØ�wÒÐÝ”;×.Ò.¨vÑ6Ô6ˆDˆDå Ð!6¸Ñ!?Ñ@Ô@Ð@àˆð	Ø�LŠL‰NŒNˆNØ�OŠO˜F CÑ(Ô(Ð(ØˆLØ�NŠN˜>¨<Ñ8Ô8Ð8Ø�NŠNÐ+­Sµ°T±´©^¬^Ñ<Ô<Ð<Ø�NŠN˜?¨DÑ1Ô1Ð1Ø�OŠOÑÔÐØ�IŠI�d‰OŒOˆOˆOøÝŒ|ð 	ð 	ð 	Ø�MŠM�#˜a™&œ&¥#¤)Ñ,Ô,Ð,ØˆFˆFˆFˆFˆFøøøøð	øøøð ×ÒÑÔˆØŒ8�sŠ?ˆ?ˆ?Ø01´°°¸!¼(¸(ÐCˆCØ�MŠM˜#�sœxÑ(Ô(Ð(Ð(ØŒX˜Š_ˆ_Ø—{’{ :Ñ.Ô.ˆHØÐØ9¸D¿MºM¹O¼OÑK�Ø/°(Ñ:ˆCØ�MŠM˜#�sœxÑ(Ô(Ð(Ð(ð ð /0¬h¨h¨h¸¼¸ÐAˆCØ�MŠM˜#�sœyÑ)Ô)Ð)ØÔð 	0Ý�(˜AŸFšF™HœH hÑ/Ô/Ð/Ð/Ð/ð	0ð 	0s%   ‘2²6¹6ÆB1I ÉJÉ-JÊJN)Ú__name__Ú
__module__Ú__qualname__ÚDEFAULT_REPOSITORYÚdescriptionr
   Úuser_optionsÚboolean_optionsr   Úsub_commandsr    r'   rE   rS   Ústaticmethodra   Úclassmethodru   rN   © r   r   r   r      sô   € € € € € ð 9ÐàO€Kð 
˜Ø	*¨VÔ-FÑ	Fð	Hð	3à4ð€Lð Ô,€Oð
ð 
ð 
ð $ ZÐ0Ð1€Lðð ð ð
Eð Eð Eð"ð ð ð #ð #ð #ð( ðð ñ „\ðð& ð2ð 2ñ „[ð2ð$<0ð <0ð <0ð <0ð <0r   r   )Ú__doc__Úbase64r   Ú	distutilsr   Údistutils.errorsr   r+   r—   r3   rJ   rO   rh   rd   Úhttp.clientr{   Úurllib.parserŠ   rG   Ú
_importlibr   r}   r   r
   r   r   rº   r   r   ú<module>rÂ      s0  ððð ð &Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 	€	€	€	Ø €€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€à !Ð !Ð !Ð !Ð !Ð !Ø +Ð +Ð +Ð +Ð +Ð +à Ð Ð Ð Ð Ð ð0ð 0ð 0ðu0ð u0ð u0ð u0ð u0�&ñ u0ô u0ð u0ð u0ð u0r   