Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/twine/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/twine/__pycache__/repository.cpython-37.pyc

B

Fd�W��@s�ddlmZmZmZddlmZddlZddlmZddlm	Z	ddl
mZddlm
Z
mZddlmZddlZed	d
g�ZdZdZd
ZGdd�de�ZdS)�)�absolute_import�unicode_literals�print_function)�BarN)�adapters)�codes)�util)�MultipartEncoder�MultipartEncoderMonitor)�
user_agentZ
gpg_signature�contentzhttps://pypi.python.org/zhttps://upload.pypi.org/zhttps://upload.pypi.io/c@s|eZdZdd�Zedd��Zedd��Zdd�Zed	d
��Zdd�Z	d
d�Z
dd�Zdd�Zddd�Z
ddd�Zdd�ZdS)�
RepositorycCsV||_t��|_||f|j_|��|jjd<xdD]}|j�||���q2Wi|_dS)Nz
User-Agent)zhttp://zhttps://)	�url�requests�sessionZauth�_make_user_agent_string�headersZmount�_make_adapter_with_retries�_releases_json_data)�selfZrepository_url�username�password�scheme�r�A/opt/alt/python37/lib/python3.7/site-packages/twine/repository.py�__init__%s

zRepository.__init__cCs(tjdddgddddgd�}tj|d	�S)
N��
ZGETi�i�i�i�)�connect�totalZmethod_whitelistZstatus_forcelist)Zmax_retries)rZRetryrZHTTPAdapter)�retryrrrr.sz%Repository._make_adapter_with_retriescCs$ddlm}|��}tdtj|d�S)Nr)�cli�twine)�extras)r"r!Zlist_dependencies_and_versionsr�__version__)r!Zdependenciesrrrr8sz"Repository._make_user_agent_stringcCs|j��dS)N)r�close)rrrrr%>szRepository.closecCs`g}xV|��D]J\}}|tks,t|ttf�s<|�||f�qx|D]}|�||f�qBWqW|S)N)�items�KEYWORDS_TO_NOT_FLATTEN�
isinstance�list�tuple�append)�data�data_to_send�key�value�itemrrr�_convert_data_to_list_of_tuplesAs
z*Repository._convert_data_to_list_of_tuplescCs|r||j_dS)N)rZverify)rZcacertrrr�set_certificate_authorityMsz$Repository.set_certificate_authoritycCs|r||j_dS)N)rZcert)rZ
clientcertrrr�set_client_certificateQsz!Repository.set_client_certificatecCsb|��}|�ddd��td�|j��|�|�}t|�}|jj|j	|dd|j
id�}|��|S)NZsubmit�1)z:actionZprotocol_versionzRegistering {0}FzContent-Type)r,�allow_redirectsr)�metadata_dictionary�update�print�format�basefilenamer1r	r�postr�content_typer%)r�packager,r-�encoder�resprrr�registerUs

zRepository.registerc	s�|��}|�ddd��|�|�}td�|j��t|jd��h}|�d|j|dff�t	|�}t
|jdd	��t|�fd
d��}|j
j|j|dd
|jid�}���WdQRX|S)NZfile_uploadr4)z:actionZprotcol_versionz
Uploading {0}�rbrzapplication/octet-stream�=)Z
expected_sizeZfilled_charcs��|j�S)N)ZshowZ
bytes_read)�monitor)�barrr�<lambda>~�z$Repository._upload.<locals>.<lambda>FzContent-Type)r,r5r)r6r7r1r8r9r:�open�filenamer+r	�ProgressBar�lenr
rr;rr<�done)rr=r,r-�fpr>rCr?r)rDr�_uploadjs*

zRepository._uploadrcCspd}xf||krj|�|�}|jtjkr(|Sd|jkr>dkrdnn"|d7}tdj|j|j|d��q|SqW|S)Nri�iX�z]Received "{status_code}: {reason}" Package upload appears to have failed.  Retry {retry} of 5)�status_code�reasonr )rMrOrZOKr8r9rP)rr=Z
max_redirectsZnumber_of_redirectsr?rrr�upload�s

zRepository.uploadFc
Cs�|j�tttf�sdS|j}d}|s0|j�|�}|dkrtdj|td�}ddi}|j	j||d�}|�
�d}||j|<|�|jjg�}x|D]}	|	d|j
kr�d	Sq�WdS)
NFz{url}pypi/{package}/json)r=rZAcceptzapplication/json)r�releasesrHT)r�
startswith�LEGACY_PYPI�	WAREHOUSE�
OLD_WAREHOUSE�	safe_namer�getr9rZjson�metadata�versionr:)
rr=Zbypass_cacherWrRrr�response�packagesZuploaded_packagerrr�package_is_uploaded�s$

zRepository.package_is_uploadedcCsdS)Nr)rr=rrr�verify_package_integrity�sz#Repository.verify_package_integrityN)r)F)�__name__�
__module__�__qualname__r�staticmethodrrr%r1r2r3r@rMrQr]r^rrrrr
$s	
!

r
)�
__future__rrrZclint.textui.progressrrIrrrZrequests.packages.urllib3rZrequests_toolbelt.multipartr	r
Z"requests_toolbelt.utils.user_agentrr"�setr'rTrUrV�objectr
rrrr�<module>s