Your IP : 172.28.240.42


Current Path : /usr/lib/python2.7/distutils/command/
Upload File :
Current File : //usr/lib/python2.7/distutils/command/upload.pyc

ó
—|_c@sØdZddlZddlZddlZddlmZmZmZddlm	Z	ddl
Z
ddlZddl
mZddlmZddlmZddlmZdd	lmZd
efd„ƒYZdS(s`distutils.command.upload

Implements the Distutils 'upload' subcommand (upload package to PyPI).iÿÿÿÿN(turlopentRequestt	HTTPError(tstandard_b64encode(tmd5(tDistutilsOptionError(t
PyPIRCCommand(tspawn(tlogtuploadcBsUeZdZejddgZejdgZd„Zd„Zd	„Zd
„Z	RS(
supload binary package to PyPItsigntsssign files to upload using gpgs	identity=tisGPG identity used to sign filescCs>tj|ƒd|_d|_d|_t|_d|_dS(Nti(	Rtinitialize_optionstusernametpasswordt
show_responsetFalseR
tNonetidentity(tself((s./usr/lib/python2.7/distutils/command/upload.pyRs
				cCsªtj|ƒ|jr/|jr/tdƒ‚n|jƒ}|ikr~|d|_|d|_|d|_|d|_	n|jr¦|j
jr¦|j
j|_ndS(Ns.Must use --sign for --identity to have meaningRRt
repositorytrealm(Rtfinalize_optionsRR
Rt_read_pypircRRRRtdistribution(Rtconfig((s./usr/lib/python2.7/distutils/command/upload.pyR&s



cCsR|jjstdƒ‚nx0|jjD]"\}}}|j|||ƒq(WdS(Ns'No dist file created in earlier command(Rt
dist_filesRtupload_file(Rtcommandt	pyversiontfilename((s./usr/lib/python2.7/distutils/command/upload.pytrun8sc"Cstj|jƒ\}}}}}}	|s6|s6|	rLtd|jƒ‚n|dGkrktd|ƒ‚n|jr¾ddd|g}
|jr¨d|jg|
d	d	+nt|
d
|jƒnt|dƒ}z|jƒ}Wd|j	ƒX|j
j}
idd
6dd6|
jƒd6|
j
ƒd6tjj|ƒ|fd6|d6|d6t|ƒjƒd6dd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd6|
jƒd 6|
jƒd!6|
jƒd"6|
jƒd#6|
jƒd$6}d%}|d&krRt j!ƒ\}}}|rwd'||f}qwn%|d(krwd)t j d*d+ƒ}n||d,<|jr½tjj|ƒd-t|d-ƒjƒf|d.<nd/t"|j#d0|j$ƒ}d1}d2|}|d3}t%j%ƒ}xá|j&ƒD]Ó\}}t'|t(ƒs5|g}nx©|D]¡}t'|t)ƒrld4|d5}|d+}nd%}|j*|ƒ|j*d6|ƒ|j*|ƒ|j*d7ƒ|j*|ƒ|r<|d8d9kr<|j*d:ƒq<q<WqW|j*|ƒ|j*d:ƒ|j+ƒ}|j,d;||jft-j.ƒid<|d=6t/t0|ƒƒd>6|d?6}t1|jd@|dA|ƒ}yjt2|ƒ}|j3ƒ}|j4}|j5rÚd:j6dBdCt7jƒdBdCfƒ} |j,| t-j.ƒnWnTt8j9k
r
}!|j,t/|!ƒt-j:ƒdSt;k
r1}!|!j<}|!j4}nX|dDkr^|j,dE||ft-j.ƒn|j,dF||ft-j:ƒdS(HNsIncompatible url %sthttpthttpssunsupported schema tgpgs
--detach-signs-as--local-useritdry_runtrbtfile_uploads:actiont1tprotcol_versiontnametversiontcontenttfiletypeRt
md5_digests1.0tmetadata_versiontsummaryt	home_pagetauthortauthor_emailtlicensetdescriptiontkeywordstplatformtclassifierstdownload_urltprovidestrequirest	obsoletesR
t	bdist_rpmsbuilt for %s %st
bdist_dumbsbuilt for %stterseitcomments.asct
gpg_signaturesBasic t:s3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s
--s--s;filename="%s"is*
Content-Disposition: form-data; name="%s"s

iÿÿÿÿs
s
sSubmitting %s to %ss multipart/form-data; boundary=%ssContent-typesContent-lengtht
Authorizationtdatatheaderst-iKiÈsServer response (%s): %ssUpload failed (%s): %s(R"R#(=turlparseRtAssertionErrorR
RRR%topentreadtcloseRtmetadatatget_nametget_versiontostpathtbasenameRt	hexdigesttget_descriptiontget_urltget_contacttget_contact_emailtget_licencetget_long_descriptiontget_keywordst
get_platformstget_classifierstget_download_urltget_providestget_requirest
get_obsoletesR7tdistRRRtStringIOtitemst
isinstancetlistttupletwritetgetvaluetannounceRtINFOtstrtlenRRtgetcodetmsgRtjointrtsocketterrortERRORRtcode("RRRR tschematnetlocturltparamstqueryt	fragmentstgpg_argstfR,tmetaRDR@R`R+tidtauthtboundarytsep_boundarytend_boundarytbodytkeytvaluetfnREtrequesttresulttstatustreasonRmte((s./usr/lib/python2.7/distutils/command/upload.pyR>sÆ$			















	 









 
			&	

(ssignRssign files to upload using gpg(s	identity=RsGPG identity used to sign files(
t__name__t
__module__R5Rtuser_optionstboolean_optionsRRR!R(((s./usr/lib/python2.7/distutils/command/upload.pyR	s
			(t__doc__RORpR7turllib2RRRtbase64RRGt	cStringIORathashlibRtdistutils.errorsRtdistutils.coreRtdistutils.spawnRt	distutilsRR	(((s./usr/lib/python2.7/distutils/command/upload.pyt<module>s