
    LMh#                        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
mZmZmZ dZdZdZd	Zd
Zd"dedee         dee         fdZd"dedee         defdZdedefdZd"dedee         ddfdZdedee         fdZd"dedee         ddfdZd"dedee         dee         fdZd"dedee         defdZd"de
dee         defdZd"dedee         defdZd"de	dee         defdZd"dedee         defdZdedefdZ de
defdZ!de	defdZ"dedefdZ#d"dedee         defdZ$d"de
dee         defdZ%d"dedee         defd Z&d"de	dee         defd!Z'dS )#    N)Path)Optional)get_cache_folder)CompetitionHandleDatasetHandleModelHandleNotebookHandleResourceHandledatasets	notebookscompetitionsmodels	.completehandlepathreturnc                     t          | |          }t          | |          }t          j                            |          r!t          j                            |          r|ndS )a  Return path for the requested resource from the cache.

    Args:
        handle: Resource handle
        path: Optional path to a file within the bundle.

    Returns:
        A string representing the path to the requested resource in the cache or None on cache miss.
    N)_get_completion_marker_filepathget_cached_pathosr   exists)r   r   marker_path	full_paths       O/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/kagglehub/cache.pyload_from_cacher      sS     2&$??K--I{33[y8Q8Q[99W[[    c                 L   t          | t                    rt          | |          S t          | t                    rt	          | |          S t          | t
                    rt          | |          S t          | t                    rt          | |          S d}t          |          NzInvalid handle)

isinstancer   _get_model_pathr   _get_dataset_pathr   _get_competition_pathr	   _get_notebook_output_path
ValueErrorr   r   msgs      r   r   r      s    &+&& 
vt,,,	FM	*	*  ...	F-	.	. $VT222	FN	+	+ (666oor   c                 D   t          | t                    rt          |           S t          | t                    rt	          |           S t          | t
                    rt          |           S t          | t                    rt          |           S d}t          |          r   )
r   r   _get_model_archive_pathr   _get_dataset_archive_pathr   _get_competition_archive_pathr	   !_get_notebook_output_archive_pathr$   )r   r&   s     r   get_cached_archive_pathr,   .   s    &+&& 
&v...	FM	*	* (000	F-	.	. ,V444	FN	+	+ 0888oor   c                     t          | |          }t          j        t          j                            |          d           t          |                                           d S )NT)exist_ok)r   r   makedirsr   dirnamer   touchr   r   r   s      r   mark_as_completer3   <   sT    1&$??KK,,t<<<<r   c                 ^   t           j                            |           rt           j                            |           rt	          j        |            nt          j        |            t           j                            |           }t          t          j	        |                    dk    r~|t                      k    rlt           j                            |          }t          j        |           |}t          t          j	        |                    dk    r|t                      k    l| S d S )Nr   )r   r   r   isdirshutilrmtreeremover0   lenlistdirr   rmdir)r   curr_dir
parent_dirs      r   _delete_from_cache_folderr>   B   s    	w~~d 7== 	M$IdOOO 7??4(("*X&&''1,,=M=O=O1O1O22JHX!H "*X&&''1,,=M=O=O1O1O 4r   c                 D    t          | |          }t          |           d S N)r   r>   r2   s      r   mark_as_incompleterA   U   s%    1&$??Kk*****r   c                 `    t          | |           t          | |          }t          |          S )a   Delete resource from the cache, even if incomplete.

    Args:
        handle: Resource handle
        path: Optional path to a file within the bundle.

    Returns:
        A string representing the path of the deleted resource or None on cache miss.
    )rA   r   r>   )r   r   model_full_paths      r   delete_from_cacherD   Z   s1     vt$$$%fd33O$_555r   c                 L   t          | t                    rt          | |          S t          | t                    rt	          | |          S t          | t
                    rt          | |          S t          | t                    rt          | |          S d}t          |          r   )
r   r   &_get_models_completion_marker_filepathr   (_get_datasets_completion_marker_filepathr   ,_get_competitions_completion_marker_filepathr	   /_get_notebook_output_completion_marker_filepathr$   r%   s      r   r   r   i   s    &+&& 
5fdCCC	FM	*	* 7EEE	F-	.	. ;FDIII	FN	+	+ >vtLLLoor   c                 R   t           j                            t                      t          | j        | j                  }|                                 r3t           j                            |dt          | j	                            }|r t           j                            ||          n|S )Nversions)
r   r   joinr   DATASETS_CACHE_SUBFOLDERownerdatasetis_versionedstrversionr   r   	base_paths      r   r!   r!   w   s    -//1I6<Y_YghhI MGLLJFN8K8KLL	,0?27<<	4(((i?r   c                 T   t           j                            t                      t          | j        | j        d          }|                                 r3t           j                            |dt          | j	                            }|r t           j                            ||          n|S )NoutputrK   )
r   r   rL   r   NOTEBOOKS_CACHE_SUBFOLDERrN   notebookrP   rQ   rR   rS   s      r   r#   r#      s    -//1JFLZ`ZiksttI MGLLJFN8K8KLL	,0?27<<	4(((i?r   c                     t           j                            t                      t          | j                  }|r t           j                            ||          n|S r@   r   r   rL   r   COMPETITIONS_CACHE_SUBFOLDERcompetitionrS   s      r   r"   r"      sD    -//1MvOabbI,0?27<<	4(((i?r   c                    t           j                            t                      t          | j        | j        | j        | j        t          | j
                            }|r t           j                            ||          n|S r@   )r   r   rL   r   MODELS_CACHE_SUBFOLDERrN   model	framework	variationrQ   rR   rS   s      r   r    r       sh    FN I -1?27<<	4(((i?r   c           
          t           j                            t                      t          | j        | j        | j        | j        | j	        d          S Nz.archive)
r   r   rL   r   r^   rN   r_   r`   ra   rR   r   s    r   r(   r(      sJ    7<<>%%%  r   c                     t           j                            t                      t          | j        | j        | j        d          S rc   )r   r   rL   r   rM   rN   rO   rR   rd   s    r   r)   r)      s>    7<< >%%%  r   c                 v    t           j                            t                      t          | j         d          S rc   rZ   rd   s    r   r*   r*      s5    7<<$'''  r   c                 ~    t           j                            t                      t          | j        | j        d          S )Nz!output-{handle.version!s}.archive)r   r   rL   r   rW   rN   rX   rd   s    r   r+   r+      s3    7<<!+  r   c                 v   |rft           j                            t                      t          | j        | j        | j        | j        t          t          | j                  | d	  	        S t           j                            t                      t          | j        | j        | j        | j        | j        d          S Nr   )r   r   rL   r   r^   rN   r_   r`   ra   FILE_COMPLETION_MARKER_FOLDERrQ   rR   r   r   s     r   rF   rF      s     
w||"LL)

 

 
	
 7<<>&&&  r   c           
      F   |rZt           j                            t                      t          | j        | j        t          t          | j	                  | d          S t           j                            t                      t          | j        | j        | j	        d          S ri   )
r   r   rL   r   rM   rN   rO   rj   rQ   rR   rk   s     r   rG   rG      s     	
w||$LN)
 
 	
 7<< >&&&  r   c           
      "   |rPt           j                            t                      t          | j        | j        t          d| j        | d          S t           j                            t                      t          | j        | j        d          S )Nzoutput-r   z"output-{handle.version!s}.complete)	r   r   rL   r   rW   rN   rX   rj   rR   rk   s     r   rI   rI      s     	
w||%LO)(fn((
 
 	
 7<<!,  r   c                     |rBt           j                            t                      t          t
          | j         | d          S t           j                            t                      t          | j         d          S ri   )r   r   rL   r   r[   rj   r\   rk   s     r   rH   rH     s{     
w||()!#
 
 	
 7<<$(((  r   r@   )(r   r6   pathlibr   typingr   kagglehub.configr   kagglehub.handler   r   r   r	   r
   rM   rW   r[   r^   rj   rQ   r   r   r,   r3   r>   rA   rD   r   r!   r#   r"   r    r(   r)   r*   r+   rF   rG   rI   rH    r   r   <module>rt      sn   				              - - - - - - j j j j j j j j j j j j j j% ' - !  + \ \N \(3- \8TW= \ \ \ \ N (3- 3    N s     ^ 8C= D    C HSM    &+ +~ +Xc] +d + + + +
6 6n 6HSM 6XVY] 6 6 6 6 N (3- [^    @ @m @8C= @C @ @ @ @@ @n @HSM @UX @ @ @ @@ @"3 @8C= @TW @ @ @ @
@ @K @x} @ @ @ @ @	K 	C 	 	 	 	m     *;     n      ; hsm _b    2 ] (SV- cf    * N RZ[^R_ kn    * 9J RZ[^R_ kn      r   