shell bypass 403
o
�?Og� � @ 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)�logZmd5Zsha256Zblake2b)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 �?/opt/alt/python310/lib64/python3.10/distutils/command/upload.pyr * s
zupload.initialize_optionsc C sz t �| � | jr| jstd��| �� }|i kr+|d | _|d | _|d | _|d | _ | js9| j
jr;| j
j| _d S d S 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 js
d}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 "