
    LMh                        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-fdZ/de	e,         fdZ0de1fdZ2de3fd Z4de3fd!Z5de-fd"Z6de-fd#Z7d$e-de3fd%Z8de-d&e-ddfd'Z9d,d(Z:d)e-de-fd*Z;de	e,         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)Optional)is_in_colab_notebookz.cache	kagglehubzhttps://www.kaggle.comz.kagglezkaggle.jsonKAGGLEHUB_CACHEKAGGLE_API_ENDPOINTKAGGLE_USERNAME
KAGGLE_KEYKAGGLE_CONFIG_DIRKAGGLEHUB_VERBOSITYDISABLE_KAGGLE_CACHEDISABLE_COLAB_CACHETBE_RUNTIME_ADDRusernamekey)debuginfowarningerrorcritical)true1tc                   $    e Zd ZU eed<   eed<   dS )KaggleApiCredentialsr   r   N)__name__
__module____qualname__str__annotations__     P/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/kagglehub/config.pyr   r   4   s"         MMM	HHHHHr#   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                  d    t           t          j        v rt          j        t                    S t          S r'   ) KAGGLE_API_ENDPOINT_ENV_VAR_NAMEr)   r*   DEFAULT_KAGGLE_API_ENDPOINTr"   r#   r$   get_kaggle_api_endpointr0   @   s#    '2:55z:;;&&r#   c                     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}t          |j        |j                  S d S )Nr   r   z#Invalid Kaggle credentials file at zKaggle credentials file at z is missing 'z' key)_kaggle_credentials_get_kaggle_credentials_filer)   getenvUSERNAME_ENV_VAR_NAMEKEY_ENV_VAR_NAMEr   r*   pathexistsopenjsonloadJSONDecodeError
ValueErrorCREDENTIALS_JSON_USERNAMECREDENTIALS_JSON_KEYr   get_colab_credentialsr   r   )creds_filepathenv_var_usernameenv_var_keycreds_json_file
creds_dicterrmsgcolab_secrets           r$   get_kaggle_credentialsrJ   F   s    #""1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  	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	$  Z3H3J3J#J<"W#\-BHXYYYY4s7   <E>>CE>C<"C77C<<A5E>>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_verbosityrT   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_disabledrX   w   s    >???r#   c                  *    t          t                    S r'   )rV   !DISABLE_KAGGLE_CACHE_ENV_VAR_NAMEr"   r#   r$   is_kaggle_cache_disabledr[   {   s    ?@@@r#   c                  d    t           j                            t                      t                    S r'   )r)   r8   rP   _get_kaggle_credentials_folderCREDENTIALS_FILENAMEr"   r#   r$   r4   r4      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)rb   s    r$   rV   rV      s,    2:%["*\*B*H*H*J*Jm*[[r#   api_keyc                     |                                  }|                                 }|r|sd}t          |          t          | |          at                              d           d S )Nz7Both username and API key cannot be empty or whitespacer2   zKaggle credentials set.)stripr>   r   r3   rO   r   )r   rf   stripped_usernamestripped_api_keyerror_messages        r$   set_kaggle_credentialsrl      sq     ((}} ($4 (Q''' /gNNN
KK)*****r#   c                  
    d a d S r'   )r3   r"   r#   r$   clear_kaggle_credentialsrn      s    r#   sc                 z    |                      dd                               dd                                          S )N 
)replacerh   )ro   s    r$   _normalize_whitespaceru      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
                              }t          |                     t                              }|r|rt          ||          S d S # t          $ r Y d S w xY w)Nr   )userdatar2   )	google.colabrw   ImportErrorru   getCOLAB_SECRET_USERNAMECOLAB_SECRET_KEYr   	Exception)rw   r   r   s      r$   rA   rA      s    )))))))   tt(6K)L)LMM#HLL1A$B$BCC 	D 	D'sCCCCt   tts   	 
A"B   
BB)r%   N)=__doc__r;   loggingr)   dataclassesr   pathlibr   typingr   kagglehub.envr   r8   rP   homer+   r/   ra   INFOrR   r^   r(   r.   r6   r7   r`   rM   rZ   rW   TBE_RUNTIME_ADDR_ENV_VAR_NAMEr?   r@   r{   r|   r3   DEBUGWARNINGERRORCRITICALrN   re   	getLoggerr   rO   r   r    r,   r0   rJ   intrT   boolrX   r[   r4   r]   rV   rl   rn   ru   rA   r"   r#   r$   <module>r      s5      				 ! ! ! ! ! !             . . . . . .w||IDIKK;GG 6 $&GLLi$H$H !L $ - #8  )  "5 2 $: !#8   2 &  )    ]L]   #""		8	$	$        
 #        ' ' ' ' '!)= > ! ! ! !H
3 
 
 
 
@ @ @ @ @A$ A A A APc P P P P- - - - -\S \T \ \ \ \	+S 	+3 	+4 	+ 	+ 	+ 	+   
9S 9S 9 9 9 9x(<=      r#   