U
    [e9                     @   sH   d dl Z d dlZG dd dejdZG dd deZG dd deZdS )	    Nc                   @   s,   e Zd ZdZejdd Zejdd ZdS )
Credentialz$Abstract class to manage credentialsc                 C   s   d S N selfr   r   U/var/www/html/services/stratfitenv/lib/python3.8/site-packages/keyring/credentials.pyusername   s    zCredential.usernamec                 C   s   d S r   r   r   r   r   r   password   s    zCredential.passwordN)__name__
__module____qualname____doc__abcabstractpropertyr   r	   r   r   r   r   r      s
   
r   )	metaclassc                   @   s0   e Zd ZdZdd Zedd Zedd ZdS )	SimpleCredentialz!Simple credentials implementationc                 C   s   || _ || _d S r   )	_username	_password)r   r   r	   r   r   r   __init__   s    zSimpleCredential.__init__c                 C   s   | j S r   )r   r   r   r   r   r      s    zSimpleCredential.usernamec                 C   s   | j S r   )r   r   r   r   r   r	      s    zSimpleCredential.passwordN)r
   r   r   r   r   propertyr   r	   r   r   r   r   r      s   
r   c                   @   sH   e Zd ZdZdd ZeedddZdd Ze	d	d
 Z
e	dd ZdS )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                 C   s   || _ || _d S r   )user_env_varpwd_env_var)r   r   r   r   r   r   r   2   s    zEnvironCredential.__init__)otherreturnc                 C   s   t | t |kS r   )vars)r   r   r   r   r   __eq__6   s    zEnvironCredential.__eq__c                 C   s    t j|}|std| |S )z&Helper to read an environment variablezMissing environment variable:%s)osenvironget
ValueError)r   env_varvaluer   r   r   _get_env9   s    zEnvironCredential._get_envc                 C   s   |  | jS r   )r#   r   r   r   r   r   r   @   s    zEnvironCredential.usernamec                 C   s   |  | jS r   )r#   r   r   r   r   r   r	   D   s    zEnvironCredential.passwordN)r
   r   r   r   r   objectboolr   r#   r   r   r	   r   r   r   r   r   !   s   
r   )r   r   ABCMetar   r   r   r   r   r   r   <module>   s   