Viewing File: /opt/alt/python38/lib64/python3.8/distutils/command/__pycache__/upload.cpython-38.pyc

U

¡ê,aYã@s˜dZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
ddlmZddl
mZmZddlmZddlmZdd	lmZGd
d„deƒZdS)zm
distutils.command.upload

Implements the Distutils 'upload' subcommand (upload package to a package
index).
éN)Ústandard_b64encode)ÚurlopenÚRequestÚ	HTTPError)Úurlparse)ÚDistutilsErrorÚDistutilsOptionError)Ú
PyPIRCCommand)Úspawn)Úlogc@sJeZdZdZejddgZejdgZdd„Zdd„Zd	d
„Z	dd„Z
d
S)Úuploadzupload binary package to PyPI)ÚsignÚszsign files to upload using gpg)z	identity=ÚizGPG identity used to sign filesr
cCs,t |¡d|_d|_d|_d|_d|_dS)NÚrF)r	Úinitialize_optionsÚusernameÚpasswordÚ
show_responser
Úidentity)Úself©rú=/opt/alt/python38/lib64/python3.8/distutils/command/upload.pyr s
zupload.initialize_optionscCsrt |¡|jr|jstdƒ‚| ¡}|ikrV|d|_|d|_|d|_|d|_	|jsn|j
jrn|j
j|_dS)Nz.Must use --sign for --identity to have meaningrrÚ
repositoryÚrealm)r	Úfinalize_optionsrr
rZ_read_pypircrrrrÚdistribution)rZconfigrrrr(s
ÿ



zupload.finalize_optionscCs:|jjsd}t|ƒ‚|jjD]\}}}| |||¡qdS)NzHMust create and upload files in one command (e.g. setup.py sdist upload))rZ
dist_filesrÚupload_file)rÚmsgÚcommandÚ	pyversionÚfilenamerrrÚrun:s
z
upload.runc Cs¨t|jƒ\}}}}}}	|s"|s"|	r0td|jƒ‚|dkrDtd|ƒ‚|jr|ddd|g}
|jrnd|jg|
dd…<t|
|jd	t|d
ƒ}z| 	¡}W5| ¡X|j
j}
dd|
 ¡|
 
¡tj |¡|f||t |¡ ¡d
|
 ¡|
 ¡|
 ¡|
 ¡|
 ¡|
 ¡|
 ¡|
 ¡|
 ¡|
 ¡|
 ¡|
 ¡|
  ¡dœ}d|d<|jrpt|dd
ƒ"}tj |¡d| 	¡f|d<W5QRX|j!d|j" #d¡}dt$|ƒ %d¡}d}d| #d¡}|d}t& '¡}| (¡D]”\}}d|}t)|t*ƒsä|g}|D]j}t+|ƒt,kr|d|d7}|d}nt-|ƒ #d¡}| .|¡| .| #d¡¡| .d¡| .|¡qèqÂ| .|¡| /¡}d||jf}| 0|t1j2¡d |t-t3|ƒƒ|d!œ}t4|j||d"}zt5|ƒ}| 6¡}|j7}Wnft8k
rø}z|j9}|j7}W5d}~XYn8t:k
r.}z| 0t-|ƒt1j;¡‚W5d}~XYnX|d#kr‚| 0d$||ft1j2¡|j<r¤| =|¡}d% >d&|d&f¡}| 0|t1j2¡n"d'||f}| 0|t1j;¡t?|ƒ‚dS)(NzIncompatible url %s)ZhttpZhttpszunsupported schema Zgpgz
--detach-signz-az--local-useré)Údry_runÚrbZfile_uploadÚ1z1.0)z:actionZprotocol_versionÚnameÚversionÚcontentZfiletyper Z
md5_digestZmetadata_versionZsummaryZ	home_pageZauthorZauthor_emailÚlicenseÚdescriptionÚkeywordsÚplatformZclassifiersZdownload_urlZprovidesZrequiresZ	obsoletesrZcommentz.ascZ
gpg_signatureú:ÚasciizBasic z3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s
--s--
z+
Content-Disposition: form-data; name="%s"z; filename="%s"rézutf-8s

zSubmitting %s to %sz multipart/form-data; boundary=%s)zContent-typezContent-lengthZ
Authorization)ÚdataÚheaderséÈzServer response (%s): %sÚ
zK---------------------------------------------------------------------------zUpload failed (%s): %s)@rrÚAssertionErrorr
rr
r$ÚopenÚcloseÚreadrZmetadataZget_nameZget_versionÚosÚpathÚbasenameÚhashlibZmd5Z	hexdigestZget_descriptionZget_urlZget_contactZget_contact_emailZget_licenceZget_long_descriptionZget_keywordsZ
get_platformsZget_classifiersZget_download_urlZget_providesZget_requiresZ
get_obsoletesrrÚencoderÚdecodeÚioÚBytesIOÚitemsÚ
isinstanceÚlistÚtypeÚtupleÚstrÚwriteÚgetvalueZannouncerÚINFOÚlenrrZgetcoderrÚcodeÚOSErrorZERRORrZ_read_pypi_responseÚjoinr) rrr r!ZschemaZnetlocZurlZparamsZqueryZ	fragmentsZgpg_argsÚfr)Úmetar1Z	user_passZauthÚboundaryZsep_boundaryZend_boundaryZbodyÚkeyÚvalueÚtitlerr2ZrequestÚresultZstatusÚreasonÚeÚtextrrrrBsÄÿÿ

â!ÿ




ýÿ

ÿ
zupload.upload_fileN)Ú__name__Ú
__module__Ú__qualname__r+r	Zuser_optionsZboolean_optionsrrr"rrrrrrsýr)Ú__doc__r9r?r-r<Úbase64rZurllib.requestrrrZurllib.parserZdistutils.errorsrrZdistutils.corer	Zdistutils.spawnr
Z	distutilsrrrrrrÚ<module>s
Back to Directory File Manager