a h @ s d Z ddlZddlZddlZddlmZ ddlmZmZm Z ddl mZ ddlm Z mZ ddlmZ ddlmZ dd lmZ eed deeddeeddd ZG dd deZdS )zm distutils.command.upload Implements the Distutils 'upload' subcommand (upload package to a package index). N)standard_b64encode)urlopenRequest HTTPError)urlparse)DistutilsErrorDistutilsOptionError) 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)signszsign 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_optionsusernamepassword show_responser identity)self r H/usr/lib/python3.9/site-packages/setuptools/_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 repositoryrealm)r finalize_optionsr r r Z_read_pypircr r r r distribution)r Zconfigr r r r 1 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 msgcommand pyversionfilenamer r r runC s z upload.runc " C s t | j\}}}}}} |s"|s"| r0td| j |dvrDtd| | jr|ddd|g} | jrnd| jg| dd<