o
    œ¨ÊhO  ã                   @   sZ   d dl Z d dlZddlmZ eejƒG dd„ deƒƒZG dd„ deƒZG dd	„ d	eƒZdS )
é    Né   )Úadd_metaclassc                   @   s,   e Zd ZdZejdd„ ƒZejdd„ ƒZdS )Ú
Credentialz)Abstract class to manage credentials
    c                 C   ó   d S ©N© ©Úselfr   r   úE/var/www/html/env/lib/python3.10/site-packages/keyring/credentials.pyÚusername   ó   zCredential.usernamec                 C   r   r   r   r   r   r   r
   Úpassword   r   zCredential.passwordN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚabcÚabstractpropertyr   r   r   r   r   r
   r      s    
r   c                   @   s0   e Zd ZdZdd„ Zedd„ ƒZedd„ ƒZdS )	ÚSimpleCredentialz&Simple credentials implementation
    c                 C   ó   || _ || _d S r   )Ú	_usernameÚ	_password)r	   r   r   r   r   r
   Ú__init__   ó   
zSimpleCredential.__init__c                 C   ó   | j S r   )r   r   r   r   r
   r      ó   zSimpleCredential.usernamec                 C   r   r   )r   r   r   r   r
   r   !   r   zSimpleCredential.passwordN)r   r   r   r   r   Úpropertyr   r   r   r   r   r
   r      s    
r   c                   @   s8   e Zd ZdZdd„ Zdd„ Zedd„ ƒZedd	„ ƒZd
S )ÚEnvironCredentialzgSource credentials from environment variables.
       Actual sourcing is deferred until requested.
    c                 C   r   r   )Úuser_env_varÚpwd_env_var)r	   r   r   r   r   r
   r   +   r   zEnvironCredential.__init__c                 C   s    t j |¡}|std| ƒ‚|S )z/Helper to read an environment variable
        zMissing environment variable:%s)ÚosÚenvironÚgetÚ
ValueError)r	   Úenv_varÚvaluer   r   r
   Ú_get_env/   s   zEnvironCredential._get_envc                 C   ó   |   | j¡S r   )r&   r   r   r   r   r
   r   7   ó   zEnvironCredential.usernamec                 C   r'   r   )r&   r   r   r   r   r
   r   ;   r(   zEnvironCredential.passwordN)	r   r   r   r   r   r&   r   r   r   r   r   r   r
   r   &   s    
r   )	r    r   Ú
py27compatr   ÚABCMetaÚobjectr   r   r   r   r   r   r
   Ú<module>   s    