
    )'&h                        d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZ 	 d dlZn5# e$ r- ej                            d            ej        d           Y nw xY wddlmZmZmZ ddlmZ dee         fd	Z ej                     ej        d
d e             ej        d          d           ej        ddd ej        g d          d           ej        dddej        d           ej        e          ej         dej!        dedededdf
d                                                                        Z"edej#        de
e	e                  fd             Z$e"%                                ej          ej        d!d" ej        g d#          d$          dej!        d%e&ddfd&                                    Z'e"%                                ej          ej(        d'd(           ej(        d)d(          dej!        d'ed)eddfd*                                                Z)e"%                                ej          ej(        d'd(          dej!        d'eddfd+                                    Z*e"%                                ej          ej(        d'd(          dej!        d'eddfd,                                    Z+e"%                    d-di.          ej          ej        d/dd01           ej(        d2d3ej,        4          dej!        d5e&d2ee         ddfd6                                                Z-d7ee         d8eeef         ddfd9Z.dS ):    N)contextmanager)AnyDictIOIteratorListOptionalzkIt seems python-dotenv is not installed with cli option. 
Run pip install "python-dotenv[cli]" to fix this.   )dotenv_valuesset_key	unset_key)__version__returnc                      	 t          j                    } n# t          $ r Y dS w xY wt           j                            | d          }|S )zZ
    Return a path for the ${pwd}/.env file.

    If pwd does not exist, return None.
    Nz.env)osgetcwdFileNotFoundErrorpathjoin)cwdr   s     E/var/www/html/reinick/venv/lib/python3.11/site-packages/dotenv/cli.pyenumerate_envr      sP    ikk   tt7<<V$$DKs    
$$z-fz--fileT)	file_okayzNLocation of the .env file, defaults to .env file in current working directory.)defaulttypehelpz-qz--quotealways)r   neverautozbWhether to quote or not the variable values. Default mode is always. This does not affect parsing.z-ez--exportFz;Whether to write the dot file as an executable bash script.)versionctxfilequoteexportc                     |||d| _         dS )zAThis script is used to set, get or unset values from a .env file.)QUOTEEXPORTFILEN)obj)r!   r"   r#   r$   s       r   clir*   !   s     >>CGGG    r   c              #      K   	 t          |           5 }|V  ddd           dS # 1 swxY w Y   dS # t          $ r8}t          d| t          j                   t          d           Y d}~dS d}~ww xY w)z~
    Open a file and yield the corresponding (decoded) stream.

    Exits with error code 2 if the file cannot be opened.
    NzError opening env file: )r"      )openOSErrorprintsysstderrexit)r   streamexcs      r   stream_filer6   2   s      $ZZ 	6LLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   ...SZ@@@@Qs,   2 %2 )2 )2 
A4-A//A4z--formatsimple)r7   jsonshellr$   zlThe format in which to display the list. Default format is simple, which displays name=value without quotes.formatc                    | j         d         }t          |          5 }t          |          }ddd           n# 1 swxY w Y   |dk    r+t          j        t          j        |dd                     dS |dk    rd	nd
}t          |          D ]?}||         }|3|dv rt          j	        |          }t          j        | | d|            @dS )z!Display all the stored key/value.r(   r4   Nr8   r-   T)indent	sort_keysr$   zexport  )r$   r9   =)
r)   r6   r   clickechor8   dumpssortedshlexr#   )r!   r:   r"   r4   valuesprefixkvs           r   listrJ   B   s0    76?D	T		 .ff---. . . . . . . . . . . . . . . 
4:fQ$???@@@@@$00b 	/ 	/Aq	A}000AA
f-a--!--...	/ 	/   :>>key)requiredvaluec                     | j         d         }| j         d         }| j         d         }t          |||||          \  }}}|rt          j        | d|            dS t	          d           dS )zStore the given key/value.r(   r&   r'   r@   r
   N)r)   r   rA   rB   r3   )r!   rL   rN   r"   r#   r$   successs          r   setrQ   [   s~     76?DGGEWXF!$UE6BBGS% 
c##E##$$$$$Qr+   c                    | j         d         }t          |          5 }t          |          }ddd           n# 1 swxY w Y   |                    |          }|rt	          j        |           dS t          d           dS )z%Retrieve the value for the given key.r(   r<   Nr
   )r)   r6   r   getrA   rB   r3   )r!   rL   r"   r4   rF   stored_values         r   rS   rS   k   s    
 76?D	T		 .ff---. . . . . . . . . . . . . . . ::c??L 
<     QrK   c                     | j         d         }| j         d         }t          |||          \  }}|rt          j        d|            dS t	          d           dS )zRemoves the given key.r(   r&   zSuccessfully removed r
   N)r)   r   rA   rB   r3   )r!   rL   r"   r#   rP   s        r   unsetrV   |   sf    
 76?DGGET3..LGS 
030011111Qr+   ignore_unknown_options)context_settingsz--override/--no-overridezKOverride variables from the environment file with those from the .env file.)r   r   commandline)nargsr   overridec                 X   | j         d         }t          j                            |          st	          j        d| d|           fdt          |                                          D             }|s#t	          j        d           t          d           t          ||           dS )	z/Run command with environment variables present.r(   zInvalid value for '-f' "z" does not exist.)r!   c                 @    i | ]\  }}|s|t           j        v||S )N)r   environ).0rH   rI   r\   s      r   
<dictcomp>zrun.<locals>.<dictcomp>   s>       Q=h=!2:*=*= 	
1*=*=*=r+   zNo command given.r
   N)r)   r   r   isfilerA   BadParameterr   itemsrB   r3   run_command)r!   r\   rY   r"   dotenv_as_dicts    `   r   runrg      s     76?D7>>$ 
 @@@@
 
 
 	
   #D))//11  N  
&'''Q^,,,,,r+   commandenvc                     t           j                                        }|                    |           t          j        | d         | |           dS )a  Replace the current process with the specified command.

    Replaces the current process with the specified command and the variables from `env`
    added in the current environment variables.

    Parameters
    ----------
    command: List[str]
        The command and it's parameters
    env: Dict
        The additional environment variables

    Returns
    -------
    None
        This function does not return any value. It replaces the current process with the new one.

    r   )argsri   N)r   r_   copyupdateexecvpe)rh   ri   cmd_envs      r   re   re      sH    * jooGNN3JwqzW555555r+   )/r8   r   rE   r1   
contextlibr   typingr   r   r   r   r   r	   rA   ImportErrorr2   writer3   mainr   r   r   r    r   strr   groupoptionPathChoiceBOOLversion_optionpass_contextContextr*   PathLiker6   rh   boolrJ   argumentrQ   rS   rV   UNPROCESSEDrg   re    r+   r   <module>r      sp    				  



 % % % % % % : : : : : : : : : : : : : : : :LLLL   J I J J JCHQKKKKK
 4 3 3 3 3 3 3 3 3 3            x}     dHmmoo5:---ce e e dIx5< ; ; ;<<wy y y dJ:PR R R k***?U] ?# ?c ?3 ?4 ? ? ?  +*R Ry ye e ?
 bk hr#w&7     j(5< E E EFF?@ @ @/em /T /d / / /	@ @  /& %%%$'''	U] 	 	S 	T 	 	 	 (' &%  	 %%%U]      &%   %%%u} 3 4    &%   7>??	V  
 Re.?@@@-U] -d -c -t - - - A@   @?-(6c 6c3h 6D 6 6 6 6 6 6s   - /AA