
    LMh                     6   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
mZ d dlmZmZ d dlmZ d dlmZ d d	lmZ d
ZdZ e j        e          Z G d dee                   Z G d dee                   Zdedee         fdZdedee         fdZdS )    N)Optional)ColabClient)is_colab_cache_disabled)BackendErrorNotFoundError)DatasetHandleModelHandle)EXTRA_CONSOLE_BLOCK)PackageScope)ResolverCOLAB_CACHE_MOUNT_FOLDERz/kaggle/inputc                   t    e Zd ZdedefdZ	 ddddedee         d	ee         deeee	         f         fd
Z
dS )ModelColabCacheResolverhandlereturnc                 <   t           j        t          j        vst	                      rdS t                      }|j        |j        |j        |j        d}t          |          }|r||d<   	 |
                    |t           j        |           n# t          $ r Y dS w xY wdS )NFownermodel	framework	variationversionT)r   TBE_RUNTIME_ADDR_ENV_VAR_NAMEosenvironr   r   r   r   r   _get_model_versionpostIS_MODEL_SUPPORTED_PATHr   selfr   ___
api_clientdatar   s          ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/kagglehub/colab_cache_resolver.pyis_supportedz$ModelColabCacheResolver.is_supported   s    4BJFFJaJcJcF5 ]]
\\))	
 
 %V,, 	&%DO	OOD+"EvNNNN 	 	 	55	ts   )!B 
BBNFforce_downloadhpathr(   c                b   |r#t                               di t                     t                      }|j        |j        |j        |j        d}t          |          }|r||d<   |	                    |t          j
        |          }|d}t          |          d|vrd}	t          |	          t          j        t          t                     }
|
 d|d          }t          j                            |          st                               d	| d
           t          j                            |          s3t'          j        d           t          j                            |          3|rB| d| }t          j                            |          sd| d| d}	t          |	          ||fS ||fS )NVIgnoring `force_download` argument when running inside the Colab notebook environment.extrar   r   +No response received or response was empty.slug"'slug' field missing from response/Mounting files to ...   'z^' is not present in the model files. You can access the other files of the attached model at ')loggerinfor
   r   r   r   r   r   r   r   MODEL_MOUNT_PATH
ValueErrorr   r   getenv%COLAB_CACHE_MOUNT_FOLDER_ENV_VAR_NAME DEFAULT_COLAB_CACHE_MOUNT_FOLDERr*   existstimesleepr    r)   r*   r(   r#   r$   r   responseno_responsemsgbase_mount_pathcached_pathcached_filepaths                r%   _resolvez ModelColabCacheResolver._resolve,   s     	KKh-,-    
 !]]
WW	
 
 %Q'' 	&%DO??4)EqIIGK[)))!!6Cs###)$IKkll(==8F+;==w~~k** 	?KK=[===>>>'..-- 	JqMMM '..-- 	  	,!,55t55O7>>/22 &_ _ _P[_ _ _  !oo%"G++G##    N)__name__
__module____qualname__r	   boolr&   r   strtupleintrH    rI   r%   r   r      s        ; T    0 593$^c3$ 3$ 3$3$$,SM3$MUVZ^3$	sHSM!	"3$ 3$ 3$ 3$ 3$ 3$rI   r   c                   t    e Zd ZdedefdZ	 ddddedee         d	ee         deeee	         f         fd
Z
dS )DatasetColabCacheResolverr   r   c                 $   t           j        t          j        vst	                      rdS t                      }|j        |j        d}t          |          }|r||d<   	 |                    |t           j	        |           n# t          $ r Y dS w xY wdS )NFr   datasetr   T)r   r   r   r   r   r   rW   _get_dataset_versionr   IS_DATASET_SUPPORTED_PATHr   r   s          r%   r&   z&DatasetColabCacheResolver.is_supportedc   s    4BJFFJaJcJcF5 ]]
\~
 

 'v.. 	&%DO	OOD+"GPPPP 	 	 	55	ts   !A? ?
BBNFr'   r)   r*   r(   c                J   |r#t                               di t                     t                      }|j        |j        d}t          |          }|r||d<   |                    |t          j        |          }|d}t          |          d|vrd}	t          |	          t          j        t          t                    }
|
 d|d          }t          j                            |          st                               d	| d
           t          j                            |          s3t#          j        d           t          j                            |          3|rB| d| }t          j                            |          sd| d| d}	t          |	          ||fS ||fS )Nr,   r-   rV   r   r/   r0   r1   r2   r3   r4   r5   r6   zb' is not present in the dataset files. You can access the other files of the attached dataset at ')r7   r8   r
   r   r   rW   rX   r   DATASET_MOUNT_PATHr:   r   r   r;   r<   r=   r*   r>   r?   r@   rA   s                r%   rH   z"DatasetColabCacheResolver._resolvex   s     	KKh-,-    
 !]]
Wy
 

 'q)) 	&%DO??4)GKKGK[)))!!6Cs###)$IKkll(==8F+;==w~~k** 	?KK=[===>>>'..-- 	JqMMM '..-- 	  	,!,55t55O7>>/22 &a a aR]a a a  !oo%"G++G##rI   rJ   )rK   rL   rM   r   rN   r&   r   rO   rP   rQ   rH   rR   rI   r%   rT   rT   b   s        = t    , 7;1$`e1$ 1$ 1$1$&.sm1$OWX\~1$	sHSM!	"1$ 1$ 1$ 1$ 1$ 1$rI   rT   r)   r   c                 l    |                                  r| j        S t          j        |           }||S d S rJ   is_versionedr   r   get_versionr)   version_from_package_scopes     r%   r   r      >    ~~ y!-!9!!<!<!-))4rI   c                 l    |                                  r| j        S t          j        |           }||S d S rJ   r]   r`   s     r%   rX   rX      rb   rI   )loggingr   r?   typingr   kagglehub.clientsr   kagglehub.configr   kagglehub.exceptionsr   r   kagglehub.handler   r	   kagglehub.loggerr
   kagglehub.packagesr   kagglehub.resolverr   r<   r=   	getLoggerrK   r7   r   rT   rQ   r   rX   rR   rI   r%   <module>rn      s    				        ) ) ) ) ) ) 4 4 4 4 4 4 < < < < < < < < 7 7 7 7 7 7 7 7 0 0 0 0 0 0 + + + + + + ' ' ' ' ' '(B %#2  		8	$	$K$ K$ K$ K$ K$h{3 K$ K$ K$\G$ G$ G$ G$ G$ 7 G$ G$ G$T+ (3-    M hsm      rI   