
    |jK                    N   d dl mZ d dlZd dlmZmZ d dlmZ  ed          Zd Z	 G d dee                   Z
 G d	 d
e
e                   Z G d de
e                   Z G d de
e                   Z G d de
ee                            Z G d dee                   ZdS )    )annotationsN)GenericTypeVar)SelfTc                f    |                                  } | dv rdS | dv rdS t          d|           )N)yyesttrueon1T)nnoffalseoff0FzInvalid truth value )lower
ValueError)vals    i/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/paddle/utils/environments.py	strtoboolr      sH    
))++C
222t	5	5	5u777888    c                  \    e Zd ZU ded<   ded<   ddZddZdd
ZddZddZddZ	ddZ
dS )EnvironmentVariablestrnamer   defaultc                >    || _         || _        d | _        d | _        d S N)r   r   _last_env_value_cached_value)selfr   r   s      r   __init__zEnvironmentVariable.__init__'   s&    	+/'+r   returnc                    t          j        | j                  }| j        | j        |k    r |                                 | _        || _        | j        S r!   )osgetenvr   r#   r"   parse_from_string)r$   _current_env_values     r   getzEnvironmentVariable.get-   sQ    Yty11&#'999!%!7!7!9!9D#5D !!r   valueNonec                b    |                      |          t          j        | j        <   || _        d S r!   )convert_to_stringr(   environr   r#   r$   r-   s     r   setzEnvironmentVariable.set7   s,     $ 6 6u = =
49"r   c                    t           r!   NotImplementedErrorr$   s    r   r*   z%EnvironmentVariable.parse_from_string;       !!r   c                    t           r!   r5   r2   s     r   r0   z%EnvironmentVariable.convert_to_string>   r8   r   c                *    t           j        | j        = d S r!   )r(   r1   r   r7   s    r   deletezEnvironmentVariable.deleteA   s    Jty!!!r   c                B    d| j          d|                                 dS )NzEnv(=))r   r,   r7   s    r   __repr__zEnvironmentVariable.__repr__D   s%    1di11$((**1111r   N)r   r   r   r   )r&   r   )r-   r   r&   r.   )r-   r   r&   r   r&   r.   r&   r   )__name__
__module____qualname____annotations__r%   r,   r3   r*   r0   r;   r?    r   r   r   r   #   s         IIIJJJ, , , ," " " "# # # #" " " "" " " "" " " "2 2 2 2 2 2r   r   c                  0     e Zd Zd	 fdZd
dZddZ xZS )StringEnvironmentVariabler   r   r   c                    t                                          ||           t          |t                    s
J d            d S )Nzdefault must be a string)superr%   
isinstancer   r$   r   r   	__class__s      r   r%   z"StringEnvironmentVariable.__init__I   sB    w''''3''CC)CCC'CCr   r&   c                @    t          j        | j        | j                  S r!   )r(   r)   r   r   r7   s    r   r*   z+StringEnvironmentVariable.parse_from_stringM   s    yDL111r   r-   c                D    t          |t                    s
J d            |S )Nzvalue must be a stringrK   r   r2   s     r   r0   z+StringEnvironmentVariable.convert_to_stringP   s&    %%%??'???%r   )r   r   r   r   rA   )r-   r   r&   r   rB   rC   rD   r%   r*   r0   __classcell__rM   s   @r   rH   rH   H   sk        D D D D D D2 2 2 2       r   rH   c                  8     e Zd Zd fdZddZdd	Zdd
Z xZS )BooleanEnvironmentVariabler   r   r   boolc                    t                                          ||           t          |t                    s
J d            d S )Nzdefault must be a boolean)rJ   r%   rK   rV   rL   s      r   r%   z#BooleanEnvironmentVariable.__init__V   sB    w''''4((EE*EEE(EEr   r&   c                |    t          | j                  }t          j        | j        |          }t          |          S r!   )r   r   r(   r)   r   r   )r$   r   env_strs      r   r*   z,BooleanEnvironmentVariable.parse_from_stringZ   s2    dl##)DIw//!!!r   r-   c                    t          |t                    s
J d            t          |                                          S )Nzvalue must be a boolean)rK   rV   r   r   r2   s     r   r0   z,BooleanEnvironmentVariable.convert_to_string_   s9    %&&AA(AAA&5zz!!!r   c                     t          d          )NzMBooleanEnvironmentVariable does not support bool(), please use get() instead.)r   r7   s    r   __bool__z#BooleanEnvironmentVariable.__bool__c   s    (
 
 	
r   )r   r   r   rV   )r&   rV   )r-   rV   r&   r   )rB   rC   rD   r%   r*   r0   r\   rR   rS   s   @r   rU   rU   U   s        F F F F F F" " " "
" " " "
 
 
 
 
 
 
 
r   rU   c                  0     e Zd Zd
 fdZddZdd	Z xZS )IntegerEnvironmentVariabler   r   r   intc                    t                                          ||           t          |t                    rt          |t                    r
J d            d S )Nzdefault must be an integer)rJ   r%   rK   r_   rV   rL   s      r   r%   z#IntegerEnvironmentVariable.__init__k   s_    w''''3'' 	

7D0I0I 	
 	
(	
 	
I 	
 	
r   r&   c                    	 t          t          j        | j        t	          | j                                      S # t          $ r
 | j        cY S w xY wr!   )r_   r(   r)   r   r   r   r   r7   s    r   r*   z,IntegerEnvironmentVariable.parse_from_stringq   sV    	 ryC,=,=>>??? 	  	  	 <	 s   8; AAr-   c                    t          |t                    rt          |t                    r
J d            t          |          S )Nzvalue must be an integer)rK   r_   rV   r   r2   s     r   r0   z,IntegerEnvironmentVariable.convert_to_stringw   sH    %%% 	
j.E.E 	
 	
&	
 	
E 5zzr   )r   r   r   r_   )r&   r_   )r-   r_   r&   r   rQ   rS   s   @r   r^   r^   j   se        
 
 
 
 
 
              r   r^   c                  0     e Zd Zd
 fdZddZdd	Z xZS )StringListEnvironmentVariabler   r   r   	list[str]c                    t                                          ||           t          |t                    s
J d            d S )Nzdefault must be a list)rJ   r%   rK   listrL   s      r   r%   z&StringListEnvironmentVariable.__init__   sB    w''''4((BB*BBB(BBr   r&   c                    t          j        | j        d                    | j                                                d          S )N,)r(   r)   r   joinr   splitr7   s    r   r*   z/StringListEnvironmentVariable.parse_from_string   s2    yCHHT\$:$:;;AA#FFFr   r-   c                    t          |t                    s
J d            t          d |D                       s
J d            d                    |          S )Nzvalue must be a listc              3  @   K   | ]}t          |t                    V  d S r!   rP   ).0xs     r   	<genexpr>zBStringListEnvironmentVariable.convert_to_string.<locals>.<genexpr>   s,      55!:a%%555555r   zvalue must be a list of stringsri   )rK   rg   allrj   r2   s     r   r0   z/StringListEnvironmentVariable.convert_to_string   sg    %&&>>(>>>&55u55555 	
 	
-	
 	
5 xxr   )r   r   r   re   )r&   re   )r-   re   r&   r   rQ   rS   s   @r   rd   rd   ~   so        C C C C C CG G G G       r   rd   c                  <    e Zd ZU ded<   ded<   ddZdd	ZddZdS )EnvironmentVariableGuardEnvironmentVariable[T]variabler   original_valuer-   c                z    || _         |                                | _        | j                             |           d S r!   )ru   r,   rv   r3   )r$   ru   r-   s      r   r%   z!EnvironmentVariableGuard.__init__   s5     &llnn%     r   r&   r   c                    | S r!   rF   r7   s    r   	__enter__z"EnvironmentVariableGuard.__enter__   s    r   r.   c                D    | j                             | j                   d S r!   )ru   r3   rv   )r$   exc_type	exc_value	tracebacks       r   __exit__z!EnvironmentVariableGuard.__exit__   s!    $-.....r   N)ru   rt   r-   r   )r&   r   r@   )rB   rC   rD   rE   r%   ry   r~   rF   r   r   rs   rs      sj         $$$$! ! ! !
   / / / / / /r   rs   )
__future__r   r(   typingr   r   typing_extensionsr   r   r   r   r   rH   rV   rU   r_   r^   rg   rd   rs   rF   r   r   <module>r      s   # " " " " " 				 # # # # # # # # " " " " " "GCLL9 9 9"2 "2 "2 "2 "2'!* "2 "2 "2J
 
 
 
 
 3C 8 
 
 

 
 
 
 
!4T!: 
 
 
*    !4S!9   (    $7S	$B    / / / / /wqz / / / / /r   