관리-도구
편집 파일: upload.cpython-39.opt-1.pyc
a �����DOg�����������������������@���s����d�Z�ddlZddlZddlZddlmZ�ddlmZ�ddlm Z m Z �ddlmZ�ddl mZmZ�ddlmZ�dd lmZ�dd lmZ�eedd�eedd�eed d�d�ZG�dd��de�ZdS�)zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). �����N)�standard_b64encode)� HTTPError)�urlopen�Request)�urlparse)�DistutilsError�DistutilsOptionError)� PyPIRCCommand)�spawn)�log�md5�sha256�blake2b)Z md5_digestZ sha256_digestZblake2_256_digestc�������������������@���sJ���e�Zd�ZdZejddg�Zejdg�Zdd��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���c�����������������C���s,���t��|���d|�_d|�_d|�_d|�_d�|�_d�S�)N��r���F)r ����initialize_options�username�password� show_responser����identity)�self��r����0/usr/lib64/python3.9/distutils/command/upload.pyr���*���s���� zupload.initialize_optionsc�����������������C���sr���t��|���|�jr|�jstd��|����}|i�krV|d�|�_|d�|�_|d�|�_|d�|�_ |�jsn|�j jrn|�j j|�_d�S�)Nz.Must use --sign for --identity to have meaningr���r���� repository�realm)r ����finalize_optionsr���r���r���Z_read_pypircr���r���r���r����distribution)r���Zconfigr���r���r���r���2���s���� � zupload.finalize_optionsc�����������������C���s:���|�j�jsd}t|��|�j�jD�]\}}}|��|||��qd�S�)NzHMust create and upload files in one command (e.g. setup.py sdist upload))r���Z dist_filesr����upload_file)r����msg�command� pyversion�filenamer���r���r����runD���s ����z upload.runc�����������"������C���s ��t�|�j�\}}}}}} |s"|s"| r0td|�j���|dvrDtd|���|�jr|ddd|g} |�jrnd|�jg| dd�<�t| |�jd ��t|d �}z|���}W�|� ���n |� ���0�|�j j} dd| ���| � ��tj�|�|f||d | ���| ���| ���| ���| ���| ���| ���| ���| ���| ���| ���| ���| ���d�}d|d<�t���D�]B\}}|d�u��rL�q6z||�� ��||<�W�n�t!�yt���Y�n0��q6|�j�r�t|d�d ��,}tj�|�d�|���f|d<�W�d�����n1��s�0����Y��|�j"d�|�j#��$d�}dt%|��&d��}d}d|�$d��}|d�}t'�(��}|���D�]�\}}d|�}t)|t*��sB|g}|D�]j}t+|�t,u��rr|d|d��7�}|d�}nt-|��$d�}|�.|��|�.|�$d���|�.d��|�.|���qF�q |�.|��|�/��}d||�jf�}|��0|t1j2��d |�t-t3|��|d!�}t4|�j||d"�}zt5|�}|�6��}|j7}W�nj�t8�yX�} �z| j9}| j7}W�Y�d�} ~ nBd�} ~ 0��t:�y��} �z |��0t-| �t1j;����W�Y�d�} ~ n d�} ~ 0�0�|d#k�r�|��0d$||f�t1j2��|�j<�r|��=|�}!d%�>d&|!d&f�}|��0|t1j2��n"d'||f�}|��0|t1j;��t?|��d�S�)(NzIncompatible url %s)�http�httpszunsupported schema Zgpgz --detach-signz-az--local-user����)�dry_run�rbZfile_upload�1z1.0)z:actionZprotocol_version�name�version�contentZfiletyper#���Zmetadata_versionZsummaryZ home_pageZauthorZauthor_email�license�description�keywords�platformZclassifiersZdownload_urlZprovidesZrequiresZ obsoletesr���Zcommentz.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)zContent-typezContent-lengthZ Authorization)�data�headers�����zServer response (%s): %s� zK---------------------------------------------------------------------------zUpload failed (%s): %s)@r���r����AssertionErrorr���r���r ���r)����open�read�closer����metadata�get_nameZget_version�os�path�basenameZget_descriptionZget_urlZget_contactZget_contact_emailZget_licenceZget_long_descriptionZget_keywordsZ get_platformsZget_classifiersZget_download_urlZget_providesZget_requiresZ get_obsoletes�_FILE_CONTENT_DIGESTS�items� hexdigest� ValueErrorr���r����encoder����decode�io�BytesIO� isinstance�list�type�tuple�str�write�getvalueZannouncer����INFO�lenr���r���Zgetcoder!���r����code�OSError�ERRORr���Z_read_pypi_response�joinr���)"r���r"���r#���r$���Zschema�netloc�url�params�queryZ fragmentsZgpg_args�fr.����metar6���Zdigest_nameZdigest_consZ user_passZauth�boundaryZsep_boundaryZend_boundary�body�key�value�titler!���r7���Zrequest�result�status�reason�e�textr���r���r���r ���L���s������� � �( �� � zupload.upload_fileN)�__name__� __module__�__qualname__r0���r ���Zuser_optionsZboolean_optionsr���r���r%���r ���r���r���r���r���r������s����r���)�__doc__r@���rI����hashlib�base64r���Zurllib.errorr���Zurllib.requestr���r����urllib.parser���Zdistutils.errorsr���r���Zdistutils.corer ���Zdistutils.spawnr ���Z distutilsr����getattrrC���r���r���r���r���r����<module>���s ��� �