o
    §ù$i  ã                   @   s¢   d dl Z d dlmZ d dlmZ d dlmZ eeƒ ¡ j	d  j
Zed Ze ¡ r,eeƒ dedeeef fdd	„Zdeeef fd
d„Zdededefdd„ZdS )é    N)ÚPath)ÚDict)Úload_dotenvz.envÚrawÚreturnc                 C   sf   i }| s|S |   d¡D ]%}| ¡ }|rd|vrq|  dd¡\}}| ¡ }| ¡ }|r0|r0|||< q|S )z‡
    Parsea la variable WP_INVOICES_MAIL_USERS con formato:
      user1:pass1,user2:pass2,...
    y devuelve un dict {user: pass}.
    ú,ú:é   )ÚsplitÚstrip)r   ÚusersÚitemÚuserÚpwd© r   ú5/var/www/html/flask_server/shared/wp_invoices_auth.pyÚ_parse_users   s   €r   c                  C   s   t  dd¡} t| ƒS )NÚWP_INVOICES_MAIL_USERSÚ )ÚosÚgetenvr   )r   r   r   r   Úget_allowed_users&   s   r   r   Úpasswordc                 C   s,   | r|sdS t ƒ }| | ¡}|duo||kS )uR   
    Devuelve True si user/password estÃ¡ en la lista de usuarios permitidos.
    FN)r   Úget)r   r   r   Úexpectedr   r   r   Úcheck_credentials+   s
   
r   )r   Úpathlibr   Útypingr   Údotenvr   Ú__file__ÚresolveÚparentsÚparentÚROOT_DIRÚENV_PATHÚexistsÚstrr   r   Úboolr   r   r   r   r   Ú<module>   s    