3
^                 @   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|  | jptj | _| jp0| j p0| j | _d S )N)	origr   finalize_optionsusernamegetpassgetuserpassword_load_password_from_keyring_prompt_for_password)self r   ?/tmp/pip-build-ao6tmhm0/setuptools/setuptools/command/upload.pyr      s    
zupload.finalize_optionsc             C   s2   yt d}|j| j| j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&   yt j  S  ttfk
r    Y nX dS )zH
        Prompt for a password on the tty. Suppress Exceptions.
        N)r   r   KeyboardInterrupt)r   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   