o
    Ďi4                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZ d dlmZ d dlmZ d d	lmZ d
ZdZdZdZe eZG dd dee ZG dd dee ZG dd dee Z G dd dee Z!dS )    N)is_in_kaggle_notebook)DEFAULT_CONNECT_TIMEOUTKaggleJwtClient)is_kaggle_cache_disabled)BackendError)CompetitionHandleDatasetHandleModelHandleNotebookHandle)EXTRA_CONSOLE_BLOCK)PackageScope)ResolverKAGGLE_CACHE_MOUNT_FOLDERAttachDatasourceUsingJwtRequest   z/kaggle/inputc                   @   \   e Zd ZdefddZ	dddddededB d	edB d
edB deeedB f f
ddZ	dS )CompetitionKaggleCacheResolverreturnc                 O      t  rdS t r
dS dS NFTr   r   self___ r   [/home/jeff/fluffinator/venv/lib/python3.10/site-packages/kagglehub/kaggle_cache_resolver.pyis_supported!   s
   z+CompetitionKaggleCacheResolver.is_supportedNFforce_download
output_dirhpathr   r    c                C   sP  |rt jdi td t }|rt jdi td d|ji}|jtd|ittfd}d|vr4d}t	|t
tt}	|	 d	|d  }
t
j|
sSt d
|
 d n |rft jd| d| di td nt jd| di td t
j|
std t
j|
ry|r|
 d	| }t
j|sd| d|
 d}t||d fS |
d fS )NSIgnoring `output_dir` argument when running inside the Kaggle notebook environment.extraWIgnoring `force_download` argument when running inside the Kaggle notebook environment.CompetitionSlugcompetitionReftimeout	mountSlug.'result.mountSlug' field missing from response/Mounting files to ...Attaching 'z' from competition '' to your Kaggle notebook...zAttaching competition '   'zf' is not present in the competition files.You can acces the other files othe attached competition at ')loggerinfor   r   competitionpostATTACH_DATASOURCE_REQUEST_NAMEr   ATTACH_DATASOURCE_READ_TIMEOUTr   osgetenv&KAGGLE_CACHE_MOUNT_FOLDER_ENV_VAR_NAME!DEFAULT_KAGGLE_CACHE_MOUNT_FOLDERr"   existstimesleep
ValueError)r   r!   r"   r   r    clientcompetition_refresultmsgbase_mount_pathcached_pathcached_filepathr   r   r   _resolve(   s`   

z'CompetitionKaggleCacheResolver._resolveN)
__name__
__module____qualname__boolr   r   strtupleintrI   r   r   r   r   r       s"    
r   c                   @   r   )DatasetKaggleCacheResolverr   c                 O   r   r   r   r   r   r   r   r   i   
   z'DatasetKaggleCacheResolver.is_supportedNFr   r!   r"   r   r    c                C     |rt jdi td |rt jdi td t }|j|jd}| r,t|j|d< nt	
|}|d ur;t||d< |jtd|ittfd}d|vrQd	}	t|	ttt}
|
 d
|d  }|d}tj|sut d| d n |rt jd| d| di td nt jd| di td tj|std tj|r|r| d
| }tj|sd| d| d}	t|	||fS ||fS )Nr#   r$   r&   )	OwnerSlugDatasetSlugVersionNumber
datasetRefr)   r+   r,   r-   versionNumberr.   r/   r0   z' from dataset 'r1   zAttaching dataset 'r2   r3   z^' is not present in the dataset files.You can acces the other files othe attached dataset at ')r4   r5   r   r   ownerdatasetis_versionedrO   versionr   get_versionr7   r8   r   r9   r   r:   r;   r<   r=   getr"   r>   r?   r@   rA   )r   r!   r"   r   r    rB   dataset_refversion_from_package_scoperD   rE   rF   rG   r]   rH   r   r   r   rI   r   sn   



z#DatasetKaggleCacheResolver._resolverJ   )
rK   rL   rM   rN   r   r   rO   rP   rQ   rI   r   r   r   r   rR   h   "    rR   c                   @   r   )ModelKaggleCacheResolverr   c                 O   r   r   r   r   r   r   r   r      rS   z%ModelKaggleCacheResolver.is_supportedNFr   r!   r"   r   r    c                C   s  |rt jdi td |rt jdi td t }|j|j|j|jd}| r0t	|j
|d< nt|}|d ur?t	||d< |jtd|ittfd}d|vrUd	}	t|	ttt}
|
 d
|d  }|d}tj|syt d| d n |rt jd| d| di td nt jd| di td tj|std tj|r|r| d
| }tj|sd| d| d}	t|	||fS ||fS )Nr#   r$   r&   )rU   	ModelSlug	FrameworkInstanceSlugrW   modelRefr)   r+   r,   r-   rY   r.   r/   r0   z' from model 'r1   Attaching model 'r2   r3   z^' is not present in the model files. You can access the other files of the attached model at ')r4   r5   r   r   rZ   model	framework	variationr\   rO   r]   r   r^   r7   r8   r   r9   r   r:   r;   r<   r=   r_   r"   r>   r?   r@   rA   )r   r!   r"   r   r    rB   	model_refra   rD   rE   rF   rG   r]   rH   r   r   r   rI      sr   



z!ModelKaggleCacheResolver._resolverJ   )
rK   rL   rM   rN   r   r	   rO   rP   rQ   rI   r   r   r   r   rc      rb   rc   c                   @   r   )!NotebookOutputKaggleCacheResolverr   c                 O   r   r   r   r   r   r   r   r     rS   z.NotebookOutputKaggleCacheResolver.is_supportedNFr   r!   r"   r   r    c                C   rT   )Nr#   r$   r&   )rU   
KernelSlugrW   	kernelRefr)   r+   r,   r-   rY   r.   r/   r0   z' from Notebook 'r1   rh   r2   r3   zj' is not present in the notebook output files.You can access the other files of the attached notebook at ')r4   r5   r   r   rZ   notebookr\   rO   r]   r   r^   r7   r8   r   r9   r   r:   r;   r<   r=   r_   r"   r>   r?   r@   rA   )r   r!   r"   r   r    rB   
kernel_refra   rD   rE   rF   rG   r]   rH   r   r   r   rI     sn   



z*NotebookOutputKaggleCacheResolver._resolverJ   )
rK   rL   rM   rN   r   r
   rO   rP   rQ   rI   r   r   r   r   rm     rb   rm   )"loggingr:   r?   kagglesdk.kaggle_envr   kagglehub.clientsr   r   kagglehub.configr   kagglehub.exceptionsr   kagglehub.handler   r   r	   r
   kagglehub.loggerr   kagglehub.packagesr   kagglehub.resolverr   r<   r8   r9   r=   	getLoggerrK   r4   r   rR   rc   rm   r   r   r   r   <module>   s(    
HUW