
    Pi=                        d dl Z d dlZd dlZd dlZd dl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mZ d dlmZmZmZ d dlmZ d dlmZmZmZmZmZ d d	lmZmZ d d
lm Z  d dl!m"Z"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z) d dl*m+Z+ d dl,m-Z- dZ. e j/        e0          Z1 G d de-e%                   Z2 G d de-e&                   Z3 G d de-e'                   Z4 G d de-e(                   Z5de6de6ddfdZ7dede)de8fdZ9dede'de:e;e6         e<f         fdZ=de'd e6dz  de6fd!Z>de'defd"Z?de&d e6dz  de	fd#Z@de(d e6dz  defd$ZAde%defd%ZBde%d&e6defd'ZCdS )(    N)ApiDownloadDataFileRequestApiDownloadDataFilesRequest)ApiDownloadDatasetRequestApiGetDatasetRequest)KaggleClient)ApiDownloadKernelOutputRequestApiGetKernelRequest)&ApiDownloadModelInstanceVersionRequestApiGetModelInstanceRequest'ApiListModelInstanceVersionFilesRequest)
thread_map)delete_from_cacheget_cached_archive_pathget_cached_pathload_from_cachemark_as_complete)build_kaggle_clientdownload_file)get_kaggle_credentials)UnauthenticatedErrorhandle_call)CompetitionHandleDatasetHandleModelHandleNotebookHandleResourceHandle)PackageScope)Resolver   c                   ^    e Zd ZdefdZ	 d
dddededz  dedz  deeedz  f         fd	Z	dS )CompetitionHttpResolverreturnc                     dS NT self___s      k/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/kagglehub/http_resolver.pyis_supportedz$CompetitionHttpResolver.is_supported&       t    NFforce_downloadhpathr/   c                2  	
 t                      5 	t          ||          }|r|rt          ||           d }t                      s |r|d fcd d d            S t	                      t          ||          }|rt          j        t          j        	                    |          d           	 t          ||          
t          	
fd|          }t          ||||d          }n-# t          j        j        $ r |r|d fcY cd d d            S  w xY w|s|r|d fcd d d            S nDt!          |          
t#          |          }t          j        t          j        	                    |          d           	 t          	
fd|          }t          ||||          }n`# t          j        j        $ rI |rEt          j                            |          rt          j        |           |d fcY cd d d            S  w xY w|sE|rCt          j                            |          rt          j        |           |d fcd d d            S t)          ||           t          j        |           t+          ||           |d fcd d d            S # 1 swxY w Y   d S )NTexist_okc                  B     j         j                                      S N)competitionscompetition_api_clientdownload_data_file
api_clientrs   r*   <lambda>z2CompetitionHttpResolver._resolve.<locals>.<lambda>@   s    
 7 N a abc d d r-   extract_auto_compressed_filec                  B     j         j                                      S r6   )r7   r8   download_data_filesr:   s   r*   r=   z2CompetitionHttpResolver._resolve.<locals>.<lambda>T   s    
 7 N b bcd e e r-   )r   r   r   r   r   r   osmakedirsr1   dirname(_build_competition_download_file_requestr   r   requests
exceptionsConnectionError)_build_competition_download_files_requestr   existsremove_extract_archiver   )r'   r0   r1   r/   cached_pathout_pathresponsedownload_neededarchive_pathr;   r<   s            @@r*   _resolvez CompetitionHttpResolver._resolve*   s    !"" :	"j)!T22K #~ #!!T***")++ - -&,:	" :	" :	" :	" :	" :	" :	" :	" +,,,&q$//H +(BGOOH55EEEE@DIIA*dddddfg   H '4 (A{Y]' ' 'OO  *:   " 1*D0005:	" :	" :	" :	" :	" :	" :	" :	"6 
 ' -; -&,=:	" :	" :	" :	" :	" :	" :	" :	"B >a@@6q99BGOOL99DIIII
*eeeeegh   H '4HlA{&[&[OO*:   " 17>>,77 4Il333*D000]:	" :	" :	" :	" :	" :	" :	" :	"^  ' -; -w~~l33 0	,///&,i:	" :	" :	" :	" :	" :	" :	" :	"l !x888	,'''Q%%%T>u:	" :	" :	" :	" :	" :	" :	" :	" :	" :	" :	" :	" :	" :	" :	" :	" :	" :	"sn   :JAJ,8C%$J%D?JD
J&AJ:&F! J!AG>.J<G>>=J7JJJr6   )
__name__
__module____qualname__boolr+   r   strtupleintrR   r%   r-   r*   r!   r!   %   s            
 8<="^c=" =" =""="*-*="PTW[P[="	sC$J	=" =" =" =" =" ="r-   r!   c                   ^    e Zd ZdefdZ	 d
dddededz  dedz  deeedz  f         fd	Z	dS )DatasetHttpResolverr"   c                     dS r$   r%   r&   s      r*   r+   z DatasetHttpResolver.is_supportedk   r,   r-   NFr.   r0   r1   r/   c                  	 t                      5 |                                s#|                    t          |                    }t	          ||          }|r|s||j        fcd d d            S |r|rt          ||           t          ||          	t          ||          }|r[t          j
        t          j                            |          d           t          	fd|          }t          |||d           nt          |          }t          j
        t          j                            |          d           t          	fd|          }t          |||           t!          ||           t          j        |           t%          ||           ||j        fcd d d            S # 1 swxY w Y   d S )NTr3   c                  B     j         j                                      S r6   datasetsdataset_api_clientdownload_datasetr:   s   r*   r=   z.DatasetHttpResolver._resolve.<locals>.<lambda>       z/B/U/f/fgh/i/i r-   r>   c                  B     j         j                                      S r6   r_   r:   s   r*   r=   z.DatasetHttpResolver._resolve.<locals>.<lambda>   rc   r-   )r   is_versionedwith_version_get_current_versionr   versionr   _build_dataset_download_requestr   rB   rC   r1   rD   r   r   r   rL   rK   r   )
r'   r0   r1   r/   dataset_pathrN   rO   rQ   r;   r<   s
           @@r*   rR   zDatasetHttpResolver._resolveo   s6    !"" #	'j>>## HNN#7
A#F#FGG*1d33L +N +#QY.#	' #	' #	' #	' #	' #	' #	' #	'  +. +!!T***/488A&q$//H  (BGOOH55EEEE&'i'i'i'i'iklmmh!RVWWWWW  7q99BGOOL99DIIII ''i'i'i'i'iklmmha888 x888 	,'''Q%%%QY&G#	' #	' #	' #	' #	' #	' #	' #	' #	' #	' #	' #	' #	' #	' #	' #	' #	' #	'   AF32D4F33F7:F7r6   )
rS   rT   rU   rV   r+   r   rW   rX   rY   rR   r%   r-   r*   r[   r[   j   s            
 48&'Z_&' &' &'&'&)Dj&'LPSWK&'	sC$J	&' &' &' &' &' &'r-   r[   c                   ^    e Zd ZdefdZ	 d
dddededz  dedz  deeedz  f         fd	Z	dS )ModelHttpResolverr"   c                     dS r$   r%   r&   s      r*   r+   zModelHttpResolver.is_supported   r,   r-   NFr.   r0   r1   r/   c          	        
 t                      5 
                                s#                    t          
                    t	          |          }|r|s|j        fcd d d            S |r|rt          |           t          |          t          |          |r[t          j
        t          j                                      d           t          
fd          }t          |d           nt          
          \  }}|rt!                    }t          j
        t          j                            |          d           t          
fd          }t          ||           t#          |           t          j        |           n5dt&          dd f
fd}	t)          |	|d	t+          |           d
d           t-          |           j        fcd d d            S # 1 swxY w Y   d S )NTr3   c                  B     j         j                                      S r6   modelsmodel_api_clientdownload_model_instance_versionr:   s   r*   r=   z,ModelHttpResolver._resolve.<locals>.<lambda>   s    z/@/Q/q/qrs/t/t r-   r>   c                  B     j         j                                      S r6   rq   r:   s   r*   r=   z,ModelHttpResolver._resolve.<locals>.<lambda>   s    
 1 B b bcd e e r-   filer"   c                     dz   | z   }t          j        t           j                            |          d           t	          |           t          fd          }t          ||           d S )N/Tr3   c                  B     j         j                                      S r6   rq   r:   s   r*   r=   zJModelHttpResolver._resolve.<locals>._inner_download_file.<locals>.<lambda>   s    J$5$F$f$fgh$i$i r-   )rB   rC   r1   rD   _build_model_download_requestr   r   )rv   file_out_pathrO   r<   r;   r0   rN   s      @r*   _inner_download_filez8ModelHttpResolver._resolve.<locals>._inner_download_file   s    (03(=BGOOM$B$BTRRRR9!TBB#.iiiiikl$ $ &hqAAAAAr-   zDownloading z files   )descmax_workers)r   re   rf   rg   r   rh   r   rz   r   rB   rC   r1   rD   r   r   _list_model_filesr   rL   rK   rW   r   lenr   )r'   r0   r1   r/   
model_pathrO   fileshas_morerQ   r|   r;   rN   r<   s    `        @@@r*   rR   zModelHttpResolver._resolve   s    !"" :	'j>>## HNN#7
A#F#FGG(D11J +. +!19,:	' :	' :	' :	' :	' :	' :	' :	'  + +!!T***-a66A&q$//H  )BGOOH55EEEE&'t't't't'tvwxxh!RVWWWWW
 #4J"B"Bx #:1#=#=LK = =MMMM  +eeeeegh   H "(L!<<<$\8<<< Il++++B3 B4 B B B B B B B B ,>CJJ>>>$%	    Q%%%QY&u:	' :	' :	' :	' :	' :	' :	' :	' :	' :	' :	' :	' :	' :	' :	' :	' :	' :	's   AH 4E?H  HHr6   )
rS   rT   rU   rV   r+   r   rW   rX   rY   rR   r%   r-   r*   rm   rm      s            
 26='X]=' =' ='='$'$J='JNQU+='	sC$J	=' =' =' =' =' ='r-   rm   c                   ^    e Zd ZdefdZ	 d
dddededz  dedz  deeedz  f         fd	Z	dS )NotebookOutputHttpResolverr"   c                     dS r$   r%   r&   s      r*   r+   z'NotebookOutputHttpResolver.is_supported   r,   r-   NFr.   r0   r1   r/   c                  	 t                      5 |                                s#|                    t          |                    }t	          ||          }|r|s||j        fcd d d            S |r|rt          ||           t          ||          	t          ||          }|r[t          j
        t          j                            |          d           t          	fd|          }t          |||d           nt          |          }t          j
        t          j                            |          d           t          	fd|          }t          |||           t!          ||           t          j        |           t%          ||           ||j        fcd d d            S # 1 swxY w Y   d S )NTr3   c                  B     j         j                                      S r6   kernelskernels_api_clientdownload_kernel_outputr:   s   r*   r=   z5NotebookOutputHttpResolver._resolve.<locals>.<lambda>       z/A/T/k/klm/n/n r-   r>   c                  B     j         j                                      S r6   r   r:   s   r*   r=   z5NotebookOutputHttpResolver._resolve.<locals>.<lambda>   r   r-   )r   re   rf   rg   r   rh   r    _build_notebook_download_requestr   rB   rC   r1   rD   r   r   r   rL   rK   r   )
r'   r0   r1   r/   notebook_pathrN   rO   rQ   r;   r<   s
           @@r*   rR   z#NotebookOutputHttpResolver._resolve   s4    !"" "	'j>>## HNN#7
A#F#FGG+At44M +^ +$ai/"	' "	' "	' "	' "	' "	' "	' "	'  +> +!!T***0D99A&q$//H (BGOOH55EEEE&'n'n'n'n'npqrrh!RVWWWWW  7q99BGOOL99DIIII ''n'n'n'n'npqrrha888 x888 	,'''Q%%%QY&E"	' "	' "	' "	' "	' "	' "	' "	' "	' "	' "	' "	' "	' "	' "	' "	' "	' "	'rk   r6   )
rS   rT   rU   rV   r+   r   rW   rX   rY   rR   r%   r-   r*   r   r      s            
 59%'[`%' %' %'%''*Tz%'MQTX[%'	sC$J	%' %' %' %' %' %'r-   r   rQ   rN   r"   c                    t          j        |d           t                              d           t	          j        |           rDt	          j        |           5 }|                    |           d d d            d S # 1 swxY w Y   d S t          j	        |           rEt          j
        | d          5 }|                    |           d d d            d S # 1 swxY w Y   d S d}t          |          )NTr3   zExtracting files...r<   zUnsupported archive type.)rB   rC   loggerinfotarfile
is_tarfileopen
extractallzipfile
is_zipfileZipFile
ValueError)rQ   rN   fmsgs       r*   rL   rL   
  sk   K4((((
KK%&&&,'' \,'' 	#1LL"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#		L	)	) _\3// 	#1LL"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# *oos$   A<<B B 2CCCr;   r0   c                     t          j        |          }||S t          |t                    ret	                      |j        _        |j        _        |	                                _
        |j        _        t           fd          }|j        S t          |t                    r@t!                      |j        _        |j        _        t           fd          }|j        S t          |t(                    rEt+                      |j        _        |j        _        t           fd          }|j        j        S d| }t5          |          )Nc                  B     j         j                                      S r6   )rr   rs   get_model_instancer:   s   r*   r=   z&_get_current_version.<locals>.<lambda>&  s    Z->-O-b-bcd-e-e r-   c                  B     j         j                                      S r6   )r`   ra   get_datasetr:   s   r*   r=   z&_get_current_version.<locals>.<lambda>-  s    j&9&L&X&XYZ&[&[ r-   c                  B     j         j                                      S r6   )r   r   
get_kernelr:   s   r*   r=   z&_get_current_version.<locals>.<lambda>4  s    z'9'L'W'WXY'Z'Z r-   zInvalid ResourceHandle type )r   get_version
isinstancer   r   owner
owner_slugmodel
model_slugframework_enum	framework	variationinstance_slugr   version_numberr   r   datasetdataset_slugcurrent_version_numberr   r	   	user_namenotebookkernel_slugmetadatar   )r;   r0   version_from_package_scopemodel_instancer   rO   r   r<   s   `      @r*   rg   rg     sQ   !-!9!!<!<!-))![!! &((ww&&((+$%e%e%e%e%eff,,	A}	%	%  ""w[[[[[\\--	A~	&	& 
!!g
ZZZZZ[[ 77 1Q00oor-   c                      t          |          t           fd          }g }|j        D ]}|                    |j                   |j        dk    }||fS )Nc                  B     j         j                                      S r6   )rr   rs   !list_model_instance_version_filesr:   s   r*   r=   z#_list_model_files.<locals>.<lambda>?  s    :#4#E#g#ghi#j#j r-    )0_build_list_model_instance_version_files_requestr   r   appendnamenext_page_token)r;   r0   rO   r   r   r   r<   s   `     @r*   r   r   =  sp    8;;AjjjjjkkHE^  QV'2-H8r-   r1   c                    |                                  sd}t          |          t                      }| j        |_        | j        |_        |                                 |_        | j	        |_
        | j        |_        |r||_        |S NzNo version provided)re   r   r
   r   r   r   r   r   r   r   r   rh   r   r1   r0   r1   r   r<   s       r*   rz   rz   I  s|    >> #oo.00A7AL7AL""$$AKkAOyA Hr-   c                    |                                  sd}t          |          t                      }| j        |_        | j        |_        |                                 |_        | j	        |_
        | j        |_        t          |_        |S r   )re   r   r   r   r   r   r   r   r   r   r   rh   r   MAX_NUM_FILES_DIRECT_DOWNLOAD	page_size)r0   r   r<   s      r*   r   r   Z  st    >> #oo/11A7AL7AL""$$AKkAOyA/AKHr-   c                     |                                  sd}t          |          t                      }| j        |_        | j        |_        | j        |_        |r||_	        |S r   )
re   r   r   r   r   r   r   rh   dataset_version_number	file_namer   s       r*   ri   ri   i  s`    >> #oo!##A7ALYAN yA Hr-   c                     |                                  sd}t          |          t                      }| j        |_        | j        |_        | j        |_        |r||_	        |S r   )
re   r   r   r   r   r   r   rh   r   	file_pathr   s       r*   r   r   w  s`    >> #oo&((A7ALJAMyA Hr-   c                 :    t                      }| j        |_        |S r6   )r   competitioncompetition_name)r0   r<   s     r*   rI   rI     s    #%%AAHr-   rv   c                 H    t                      }| j        |_        ||_        |S r6   )r   r   r   r   )r0   rv   r<   s      r*   rE   rE     s#    "$$AAAKHr-   )DloggingrB   r   r   rF   4kagglesdk.competitions.types.competition_api_servicer   r   ,kagglesdk.datasets.types.dataset_api_servicer   r   kagglesdk.kaggle_clientr   +kagglesdk.kernels.types.kernels_api_servicer   r	   (kagglesdk.models.types.model_api_servicer
   r   r   tqdm.contrib.concurrentr   kagglehub.cacher   r   r   r   r   kagglehub.clientsr   r   kagglehub.configr   kagglehub.exceptionsr   r   kagglehub.handler   r   r   r   r   kagglehub.packagesr   kagglehub.resolverr   r   	getLoggerrS   r   r!   r[   rm   r   rW   rL   rY   rg   rX   listrV   r   rz   r   ri   r   rI   rE   r%   r-   r*   <module>r      s#    				    x x x x x x x x h h h h h h h h 0 0 0 0 0 0 k k k k k k k k         
 / . . . . .              A @ @ @ @ @ @ @ 3 3 3 3 3 3 B B B B B B B B j j j j j j j j j j j j j j + + + + + + ' ' ' ' ' ' " 		8	$	$B" B" B" B" B"h'89 B" B" B"J+' +' +' +' +'(=1 +' +' +'\B' B' B' B' B'- B' B' B'J*' *' *' *' *'.!9 *' *' *'Z3 # $      \  n          F	, 	; 	5cTXCY 	 	 	 	[ d
 s    " Ho    } C$J Kd     cDj Mk    1B Gb    0A  Qk      r-   