
    Pi                        d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ ej                             ej                    dd          Zd	Zej                             ej                    d
          Zej        ZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!da"ej#        ej        ej$        ej%        ej&        dZ'g dZ( ej)        e*          Z+e G d d                      Z,de-fdZ.de,dz  fdZ/de0fdZ1de2fdZ3de2fd Z4de-fd!Z5de-fd"Z6d#e-de2fd$Z7de-d%e-ddfd&Z8d'e-ddfd(Z9d-d)Z:d*e-de-fd+Z;de,dz  fd,Z<dS ).zRetrieve config values that a user may set/override.

For config values specific to a resolver's environment (a user is not expected to override),
add it to the resolver's module.
    N)	dataclass)Path)get_access_token_from_env)is_in_colab_notebookz.cache	kagglehubzhttps://www.kaggle.comz.kagglezkaggle.jsonKAGGLEHUB_CACHEKAGGLE_USERNAME
KAGGLE_KEYKAGGLE_CONFIG_DIRKAGGLEHUB_VERBOSITYDISABLE_KAGGLE_CACHEDISABLE_COLAB_CACHETBE_RUNTIME_ADDRusernamekeyKAGGLE_API_TOKEN)debuginfowarningerrorcritical)true1tc                   L    e Zd ZU dZedz  ed<   dZedz  ed<   dZedz  ed<   dS )KaggleApiCredentialsNr   r   api_key)__name__
__module____qualname__r   str__annotations__r   r        d/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/kagglehub/config.pyr   r   5   sN         HcDjCtGS4Zr$   r   returnc                  d    t           t          j        v rt          j        t                    S t          S N)CACHE_FOLDER_ENV_VAR_NAMEosenvironDEFAULT_CACHE_FOLDERr#   r$   r%   get_cache_folderr-   <   s#     BJ..z344r$   c                     t           rt           S t                      \  } }| rt          |           S t                      }t	          j        t                    }t	          j        t                    }|r=|r;t          t          j        t                   t          j        t                             S t          j	        
                    |          rt          |          5 }	 t          j        |          }n,# t          j        $ r}d| }t          |          |d }~ww xY wt           |vrd| dt            d}t          |          t"          |vrd| dt"           d}t          |          t          |t                    |t"                             cd d d            S # 1 swxY w Y   t%                      rt'                      x}	|	S d S )Nr   r   r   z#Invalid Kaggle credentials file at zKaggle credentials file at z is missing 'z' key)_kaggle_credentialsr   r   _get_kaggle_credentials_filer*   getenvUSERNAME_ENV_VAR_NAMEKEY_ENV_VAR_NAMEr+   pathexistsopenjsonloadJSONDecodeError
ValueErrorCREDENTIALS_JSON_USERNAMECREDENTIALS_JSON_KEYr   get_colab_credentials)
r   _creds_filepathenv_var_usernameenv_var_keycreds_json_file
creds_dicterrmsgcolab_secrets
             r%   get_kaggle_credentialsrI   B   s    #""*,,JGQ 5#G4444 233Ny!677),--K rK r#RZ8M-NTVT^_oTpqqqq	w~~n%% .!! 	_/!Y77

' / / /LNLL oo3./ )
::qNqqQjqqq oo%#:55lNllQelll oo%'#$=>JOcDd  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	$  3H3J3J#J<"W4s7   F!!C65F!6DDDA5F!!F%(F%c                  4   t           t          j        v rt          j        t                    } | t          v rt          |          S t                              dt            d|  dd                    t                                                                t          S )Nz!Unknown verbosity level set with =z, Accepted values are: z, )	LOG_VERBOSITY_ENV_VAR_NAMEr*   r+   LOG_LEVELS_MAPloggerr   joinkeysDEFAULT_LOG_LEVEL)log_level_strs    r%   get_log_verbosityrS   j   s    !RZ//
#=>N**!-00NNK4N K KQ^ K K(,		.2E2E2G2G(H(HK K   r$   c                  *    t          t                    S r(   )_is_env_var_truthy DISABLE_COLAB_CACHE_ENV_VAR_NAMEr#   r$   r%   is_colab_cache_disabledrW   w   s    >???r$   c                  *    t          t                    S r(   )rU   !DISABLE_KAGGLE_CACHE_ENV_VAR_NAMEr#   r$   r%   is_kaggle_cache_disabledrZ   {   s    ?@@@r$   c                  d    t           j                            t                      t                    S r(   )r*   r6   rO   _get_kaggle_credentials_folderCREDENTIALS_FILENAMEr#   r$   r%   r2   r2      s     7<<688:NOOOr$   c                  d    t           t          j        v rt          j        t                    S t          S r(   )CREDENTIALS_FOLDER_ENV_VAR_NAMEr*   r+   !DEFAULT_KAGGLE_CREDENTIALS_FOLDERr#   r$   r%   r\   r\      s#    &"*44z9::,,r$   env_var_namec                 t    | t           j        v o*t           j        |                                          t          v S r(   )r*   r+   lowerTRUTHY_VALUES)ra   s    r%   rU   rU      s,    2:%["*\*B*H*H*J*Jm*[[r$   r   c                     |                                  }|                                 }|r|sd}t          |          t          | |          at                              d           d S )Nz7Both username and API key cannot be empty or whitespacer0   Kaggle credentials set.stripr<   r   r1   rN   r   )r   r   stripped_usernamestripped_api_keyerror_messages        r%   set_kaggle_credentialsrl      sq     ((}} ($4 (Q''' /gNNN
KK)*****r$   	api_tokenc                     |                                  }|sd}t          |          t          |           at                              d           d S )NzThe API token cannot be emptyr/   rf   rg   )rm   stripped_tokenrk   s      r%   set_kaggle_api_tokenrp      sX    __&&N (7''' /yAAA
KK)*****r$   c                  
    d a d S r(   )r1   r#   r$   r%   clear_kaggle_credentialsrr      s    r$   sc                 z    |                      dd                               dd                                          S )N 
)replacerh   )rs   s    r%   _normalize_whitespacery      s2    99T2&&tR0066888r$   c                     	 ddl m}  n# t          $ r Y d S w xY w	 t          |                     t
                              }|rt          |          S t          |                     t                              }t          |                     t                              }|r|rt          ||          S d S # t          $ r Y d S w xY w)Nr   )userdatar/   r0   )
google.colabr{   ImportErrorry   getCOLAB_SECRET_API_TOKENr   COLAB_SECRET_USERNAMECOLAB_SECRET_KEY	Exception)r{   rm   r   r   s       r%   r?   r?      s    )))))))   tt)(,,7M*N*NOO	 	;'	:::: )6K)L)LMM#HLL1A$B$BCC 	D 	D'sCCCCt   tts$   	 
8B9 A"B9 9
CC)r&   N)=__doc__r9   loggingr*   dataclassesr   pathlibr   kagglesdk.kaggle_envr   kagglehub.envr   r6   rO   homer,   DEFAULT_KAGGLE_API_ENDPOINTr`   INFOrQ   r]   r)   r4   r5   r_   rL   rY   rV   TBE_RUNTIME_ADDR_ENV_VAR_NAMEr=   r>   r   r   r   r1   DEBUGWARNINGERRORCRITICALrM   rd   	getLoggerr   rN   r   r!   r-   rI   intrS   boolrW   rZ   r2   r\   rU   rl   rp   rr   ry   r?   r#   r$   r%   <module>r      s<      				 ! ! ! ! ! !       : : : : : : . . . . . .w||IDIKK;GG 6 $&GLLi$H$H !L $ - )  "5 2 $: !#8   2 &  )  +   ]L]   #""		8	$	$         #        % 4t ; % % % %P
3 
 
 
 
@ @ @ @ @A$ A A A APc P P P P- - - - -\S \T \ \ \ \	+S 	+3 	+4 	+ 	+ 	+ 	++C +D + + + +   
9S 9S 9 9 9 93d:      r$   