JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbrў fc@sdZddlTddlmZddlmZddlmZddlZddl Z ddl Z ddl Z ddl Z ddl mZddlmZmZmZdd lmZejd krdd lmZndd lmZGd d d eZdS(u`distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to PyPI).i(u*(u PyPIRCCommand(uspawn(ulogN(ustandard_b64encode(uurlopenuRequestu HTTPError(uurlparseu2.5(umd5cBsm|EeZdZdZejddgZejdgZdd Zd d Zd d Z ddZ dS(uuploaduupload binary package to PyPIusignususign files to upload using gpgu identity=uiuGPG identity used to sign filescCs>tj|d|_d|_d|_d|_d|_dS(NuiF( u PyPIRCCommanduinitialize_optionsuusernameupasswordu show_responseuFalseusignuNoneuidentity(uself((u=/opt/alt/python33/lib64/python3.3/distutils/command/upload.pyuinitialize_options#s      uupload.initialize_optionscCstj||jr/|j r/tdn|j}|ikr~|d|_|d|_|d|_|d|_ n|j r|j jr|j j|_ndS(Nu.Must use --sign for --identity to have meaninguusernameupasswordu repositoryurealm( u PyPIRCCommandufinalize_optionsuidentityusignuDistutilsOptionErroru _read_pypircuusernameupasswordu repositoryurealmu distribution(uselfuconfig((u=/opt/alt/python33/lib64/python3.3/distutils/command/upload.pyufinalize_options+s       uupload.finalize_optionscCsR|jjstdnx0|jjD]"\}}}|j|||q(WdS(Nu'No dist file created in earlier command(u distributionu dist_filesuDistutilsOptionErroru upload_file(uselfucommandu pyversionufilename((u=/opt/alt/python33/lib64/python3.3/distutils/command/upload.pyurun=s u upload.runc$Cst|j\}}}}}} |s3|s3| rItd|jn|dIkrhtd|n|jrddd|g} |jrd|jg| d d 6t,t2|d?6|d@6}t3|jdA|dB|}y%t4|}|j5}|j6} Wn{t7j8k r(}!z"|j/t,|!t0j9dSWYdd}!~!Xn7t:k r^}!z|!j;}|!j6} WYdd}!~!XnX|dCkr|j/dD|| ft0j1n|j/dE|| ft0j9|j<r|j=|}"dFj>dGdH|"dGdHf}#|j/|#t0j1ndS(KNuIncompatible url %suhttpuhttpsuunsupported schema ugpgu --detach-signu-au --local-useriudry_runurbu file_uploadu:actionu1uprotcol_versionunameuversionucontentufiletypeu pyversionu md5_digestu1.0umetadata_versionusummaryu home_pageuauthoru author_emailulicenseu descriptionukeywordsuplatformu classifiersu download_urluprovidesurequiresu obsoletesuu bdist_rpmubuilt for %s %su bdist_dumbu built for %suterseiucommentu.ascu gpg_signatureu:uasciiuBasic u3--------------GHSKFJDLGDS7543FJKLFHRE75642756743254s --s--u* Content-Disposition: form-data; name="%s"u; filename="%s"iuutf-8s s s uSubmitting %s to %su multipart/form-data; boundary=%su Content-typeuContent-lengthu AuthorizationudatauheadersiuServer response (%s): %suUpload failed (%s): %su u-iK(uhttpuhttpsi(?uurlparseu repositoryuAssertionErrorusignuidentityuspawnudry_runuopenureaducloseu distributionumetadatauget_nameu get_versionuosupathubasenameumd5u hexdigestuget_descriptionuget_urlu get_contactuget_contact_emailu get_licenceuget_long_descriptionu get_keywordsu get_platformsuget_classifiersuget_download_urlu get_providesu get_requiresu get_obsoletesuplatformudistuusernameupassworduencodeustandard_b64encodeudecodeuiouBytesIOuitemsutypeutupleustruwriteugetvalueuannounceuloguINFOulenuRequestuurlopenugetcodeumsgusocketuerroruERRORu HTTPErrorucodeu show_responseu_read_pypi_responseujoin($uselfucommandu pyversionufilenameuschemaunetlocuurluparamsuqueryu fragmentsugpg_argsufucontentumetaudataucommentudistuversionuidu user_passuauthuboundaryu sep_boundaryu end_boundaryubodyukeyuvalueutitleuheadersurequesturesultustatusureasonueutextumsg((u=/opt/alt/python33/lib64/python3.3/distutils/command/upload.pyu upload_fileCs!                         #                         uupload.upload_fileN(usignususign files to upload using gpg(u identity=uiuGPG identity used to sign files( u__name__u __module__u __qualname__u descriptionu PyPIRCCommandu user_optionsuboolean_optionsuinitialize_optionsufinalize_optionsurunu upload_file(u __locals__((u=/opt/alt/python33/lib64/python3.3/distutils/command/upload.pyuuploads    uupload(u__doc__udistutils.errorsudistutils.coreu PyPIRCCommandudistutils.spawnuspawnu distutilsulogusysuosuiousocketuplatformubase64ustandard_b64encodeuurllib.requestuurlopenuRequestu HTTPErroru urllib.parseuurlparseuversionumd5uhashlibuupload(((u=/opt/alt/python33/lib64/python3.3/distutils/command/upload.pyus