
    e9                     l    d dl Z d dlZ G d dej                        Z G d de      Z G d de      Zy)	    Nc                   X    e Zd ZdZej
                  d        Zej
                  d        Zy)
Credentialz$Abstract class to manage credentialsc                      y N selfs    5/usr/lib/python3/dist-packages/keyring/credentials.pyusernamezCredential.username           c                      y r   r   r   s    r
   passwordzCredential.password   r   r   N)__name__
__module____qualname____doc__abcabstractpropertyr   r   r   r   r
   r   r      s7    .  	 r   r   )	metaclassc                   6    e Zd ZdZd Zed        Zed        Zy)SimpleCredentialz!Simple credentials implementationc                      || _         || _        y r   )	_username	_password)r	   r   r   s      r
   __init__zSimpleCredential.__init__   s    !!r   c                     | j                   S r   )r   r   s    r
   r   zSimpleCredential.username       ~~r   c                     | j                   S r   )r   r   s    r
   r   zSimpleCredential.password   r   r   N)r   r   r   r   r   propertyr   r   r   r   r
   r   r      s2    +"    r   r   c                   L    e Zd ZdZd ZdedefdZd Ze	d        Z
e	d        Zy	)
EnvironCredentialaA  
    Source credentials from environment variables.

    Actual sourcing is deferred until requested.

    Supports comparison by equality.

    >>> e1 = EnvironCredential('a', 'b')
    >>> e2 = EnvironCredential('a', 'b')
    >>> e3 = EnvironCredential('a', 'c')
    >>> e1 == e2
    True
    >>> e2 == e3
    False
    c                      || _         || _        y r   )user_env_varpwd_env_var)r	   r$   r%   s      r
   r   zEnvironCredential.__init__2   s    (&r   otherreturnc                 0    t        |       t        |      k(  S r   )vars)r	   r&   s     r
   __eq__zEnvironCredential.__eq__6   s    DzT%[((r   c                 d    t         j                  j                  |      }|st        d|z        |S )z&Helper to read an environment variablezMissing environment variable:%s)osenvironget
ValueError)r	   env_varvalues      r
   _get_envzEnvironCredential._get_env9   s-    

w'>HIIr   c                 8    | j                  | j                        S r   )r2   r$   r   s    r
   r   zEnvironCredential.username@   s    }}T..//r   c                 8    | j                  | j                        S r   )r2   r%   r   s    r
   r   zEnvironCredential.passwordD   s    }}T--..r   N)r   r   r   r   r   objectboolr*   r2   r    r   r   r   r   r
   r"   r"   !   sL     ')F )t ) 0 0 / /r   r"   )r,   r   ABCMetar   r   r"   r   r   r
   <module>r8      s3    	 
	3;; 	z  %/
 %/r   