a
    e1jë  ã                   @   sH   d Z ddlZddlmZ eeƒ ¡ jjZed Zdd„ Z	efdd„Z
dS )	zK
Helpers for loading environment variables used by Django startup scripts.
é    N)ÚPathz.app_envc                 C   s8   t | ƒdkr4| d | d kr4| d dv r4| dd… S | S )zt
    Removes matching wrapping quotes from a value.
    :param value: The raw value
    :return: Unquoted value
    é   r   éÿÿÿÿ)ú"ú'é   )Úlen)Úvalue© r
   ú1/var/www/test.vcks.de/backend/backend/vcks/env.pyÚ_strip_optional_quotes   s    (r   c                 C   sÎ   z¶t t| ƒdd��’}|D ]|}| ¡ }|r| d¡r4q| d¡rR|tdƒd…  ¡ }d|vr\q| dd¡\}}| ¡ }t| ¡ ƒ}|s†qtj 	||¡ qW d  ƒ n1 sª0    Y  W n t
yÈ   Y n0 dS )a  
    Loads variables from a .app_env file into os.environ.

    Existing environment variables are preserved so shell-provided values win.
    Supports lines in the forms KEY=value and export KEY=value.

    :param env_file: Optional path to an env file
    zutf-8)Úencodingú#zexport Nú=r   )Úopenr   ÚstripÚ
startswithr   Úsplitr   ÚosÚenvironÚ
setdefaultÚFileNotFoundError)Zenv_fileÚfileZraw_lineÚlineÚkeyr	   r
   r
   r   Úload_app_env   s$    	
2r   )Ú__doc__r   Úpathlibr   Ú__file__ZresolveÚparentZBASE_DIRZDEFAULT_APP_ENV_FILEr   r   r
   r
   r
   r   Ú<module>   s   