U
    KQh”  ã                   @   s*   d dl Z d dlmZ G dd„ dejƒZdS )é    N)Úuploadc                   @   s(   e Zd ZdZdd„ Zdd„ Zdd„ ZdS )	r   za
    Override default upload behavior to obtain password
    in a variety of different ways.
    c                 C   s8   t j | ¡ | jpt ¡ | _| jp0|  ¡ p0|  ¡ | _d S )N)	Úorigr   Úfinalize_optionsÚusernameÚgetpassÚgetuserÚpasswordÚ_load_password_from_keyringÚ_prompt_for_password©Úself© r   ú?/tmp/pip-build-tlro1kwj/setuptools/setuptools/command/upload.pyr      s    þÿýzupload.finalize_optionsc                 C   s4   zt dƒ}| | j| j¡W S  tk
r.   Y nX dS )zM
        Attempt to load password from keyring. Suppress Exceptions.
        ÚkeyringN)Ú
__import__Zget_passwordÚ
repositoryr   Ú	Exception)r   r   r   r   r   r	      s
    z"upload._load_password_from_keyringc              	   C   s(   z
t   ¡ W S  ttfk
r"   Y nX dS )zH
        Prompt for a password on the tty. Suppress Exceptions.
        N)r   r   ÚKeyboardInterruptr   r   r   r   r
   #   s    
zupload._prompt_for_passwordN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r	   r
   r   r   r   r   r      s   
r   )r   Údistutils.commandr   r   r   r   r   r   Ú<module>   s   