File: //lib64/python3.9/distutils/command/__pycache__/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           "