B � f] � @ s� d Z ddlZddlZddlZddlZddlmZ ddlmZm Z m Z ddlmZ ddl mZmZ ddlmZ ddlmZ dd lmZ G d 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 @ 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 �=/opt/alt/python37/lib64/python3.7/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 ( s zupload.finalize_optionsc C s> | j jsd}t|��x$| j jD ]\}}}| �|||� qW d 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 �run: s z upload.runc $ C s� t | j�\}}}}}} |s"|s"| r0td| j ��|dkrDtd| ��| jr|ddd|g} | jrnd| jg| dd�<