
    Pi                     <   d 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 dZdZd	ZdZdZdZdZ ed
           G d d                      Z ed
           G d de                      Z ed
           G d de                      Z ed
           G d de                      Z ed
           G d de                      Z G d de          Z G d de          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edefd Zdedefd!ZdS )"z$Functions to parse resource handles.    N)asdict	dataclass)get_endpointget_env)ModelFramework)to_enum         T)frozenc                   4    e Zd Zej        defd            ZdS )ResourceHandlereturnc                     dS )z(Returns URL to the resource detail page.N selfs    d/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/kagglehub/handle.pyto_urlzResourceHandle.to_url   s	     	    N)__name__
__module____qualname__abcabstractmethodstrr   r   r   r   r   r      s=              r   r   c                       e Zd ZU eed<   eed<   eed<   eed<   edz  ed<   defdZdedd fd	Zde	fd
Z
defdZdefdZdS )ModelHandleownermodel	framework	variationNversionr   c                 *    | j         d uo
| j         dk    S Nr   r#   r   s    r   is_versionedzModelHandle.is_versioned&       |4'<DL1,<<r   c                 R    t          | j        | j        | j        | j        |          S )Nr   r    r!   r"   r#   )r   r   r    r!   r"   r   r#   s     r   with_versionzModelHandle.with_version)   s/    *DJ$.TXTbls
 
 
 	
r   c                 6    t          t          | j                  S N)r   r   r!   r   s    r   framework_enumzModelHandle.framework_enum.   s    ~t~666r   c                     | j          d| j         d| j         d| j         }|                                 r| d| j         S |S )N/)r   r    r!   r"   r'   r#   r   
handle_strs     r   __str__zModelHandle.__str__1   s]    
SSTZSS$.SS4>SS
 	2 114<111r   c                     t          t                                }|                                 r,| d| j         d| j         d| j         d| j         d| j         S | d| j         d| j         d| j         d| j         	S )Nz/models/r1   )r   r   r'   r   r    r!   r"   r#   )r   endpoints     r   r   zModelHandle.to_url7   s    		** 	drr
rrTZrr$.rrSWSarrdhdprrrcc
ccTZcc$.ccSWSacccr   )r   r   r   r   __annotations__intboolr'   r,   r   r/   r4   r   r   r   r   r   r      s         JJJJJJNNNNNN4Z=d = = = =
C 
M 
 
 
 

7 7 7 7 7    d d d d d d dr   r   c                   l    e Zd ZU eed<   eed<   dZedz  ed<   defdZdedd fdZ	defdZ
defd	ZdS )
DatasetHandler   datasetNr#   r   c                 *    | j         d uo
| j         dk    S r%   r&   r   s    r   r'   zDatasetHandle.is_versionedE   r(   r   c                 :    t          | j        | j        |          S )Nr   r<   r#   )r;   r   r<   r+   s     r   r,   zDatasetHandle.with_versionH   s    4:t|WUUUUr   c                 h    | j          d| j         }|                                 r| d| j         S |S Nr1   
/versions/)r   r<   r'   r#   r2   s     r   r4   zDatasetHandle.__str__K   sI    
33T\33
 	; ::DL:::r   c                     t          t                                }| d| j         d| j         }|                                 r| d| j         S |S )Nz
/datasets/r1   rB   )r   r   r   r<   r'   r#   r   r6   base_urls      r   r   zDatasetHandle.to_urlQ   sa    		**EE$*EEt|EE 	988$,888r   r   r   r   r   r7   r#   r8   r9   r'   r,   r4   r   r   r   r   r;   r;   ?   s         JJJLLLGS4Z=d = = = =VC VO V V V V          r   r;   c                   2    e Zd ZU eed<   defdZdefdZdS )CompetitionHandlecompetitionr   c                     | j          }|S r.   rI   r2   s     r   r4   zCompetitionHandle.__str__]   s    (*
r   c                 T    t          t                                }| d| j         }|S )Nz/competitions/)r   r   rI   rD   s      r   r   zCompetitionHandle.to_urla   s.    		**@@d.>@@r   N)r   r   r   r   r7   r4   r   r   r   r   rH   rH   Y   sX                   r   rH   c                   l    e Zd ZU eed<   eed<   dZedz  ed<   defdZdedd fdZ	defdZ
defd	ZdS )
NotebookHandler   notebookNr#   r   c                 *    | j         d uo
| j         dk    S r%   r&   r   s    r   r'   zNotebookHandle.is_versionedm   r(   r   c                 :    t          | j        | j        |          S )Nr   rO   r#   )rN   r   rO   r+   s     r   r,   zNotebookHandle.with_versionp   s    DJPWXXXXr   c                 h    | j          d| j         }|                                 r| d| j         S |S rA   )r   rO   r'   r#   r2   s     r   r4   zNotebookHandle.__str__s   sI    
44T]44
 	; ::DL:::r   c                     t          t                                }| d| j         d| j         }|                                 r| d| j         S |S )Nz/code/r1   rB   )r   r   r   rO   r'   r#   rD   s      r   r   zNotebookHandle.to_urly   sa    		**BBdjBB4=BB 	988$,888r   rF   r   r   r   rN   rN   g   s         JJJMMMGS4Z=d = = = =YC Y,< Y Y Y Y          r   rN   c                       e Zd ZdS )UtilityScriptHandleN)r   r   r   r   r   r   rV   rV      s        Dr   rV   c                       e Zd Zdedd fdZdS )PackageHandler#   r   c                 B    t          |           }||d<   t          di |S )Nr#   r   )r   rX   )r   r#   kwargss      r   r,   zPackageHandle.with_version   s+    #y&&v&&&r   N)r   r   r   r8   r,   r   r   r   rX   rX      s6        'C 'O ' ' ' ' ' 'r   rX   handler   c                    |                      d          }t          |          t          k    rb	 t          |d                   }n-# t          $ r }d|d          }t	          |          |d }~ww xY wt          |d         |d         |          S t          |          t          k    rt          |d         |d         d           S d|  }t	          |          )Nr1      Invalid version number: r      r?   zInvalid dataset handle: )splitlenNUM_VERSIONED_DATASET_PARTSr8   
ValueErrorr;   NUM_UNVERSIONED_DATASET_PARTSr[   partsr#   errmsgs        r   parse_dataset_handleri      s    LLE
5zz000	+%(mmGG 	+ 	+ 	+7U1X77CS//s*	+ (!H
 
 
 	

 
U4	4	4 (!H
 
 
 	
 .V
-
-C
S//   A 
A/A**A/c                    |                      d          }t          |          t          k    rp	 t          |d                   }n-# t          $ r }d|d          }t	          |          |d }~ww xY wt          |d         |d         |d         |d         |          S t          |          t          k    r,t          |d         |d         |d         |d         d           S d	|  }t	          |          )
Nr1   r	   r^   r   r_   r
   r]   r*   zInvalid model handle: )r`   ra   NUM_VERSIONED_MODEL_PARTSr8   rc   r   NUM_UNVERSIONED_MODEL_PARTSre   s        r   parse_model_handlern      s   LLE
5zz...	+%(mmGG 	+ 	+ 	+7U1X77CS//s*	+ ((AhAh
 
 
 	
 
U2	2	2 ((AhAh
 
 
 	
 ,6
+
+C
S//rj   c                 R    d| v rd|  }t          |          t          |           S )Nr1   zInvalid competition handle: rK   )rc   rH   )r[   rh   s     r   parse_competition_handlerp      s5    
f}}5V55oo0000r   c                    |                      d          }t          |          t          k    rb	 t          |d                   }n-# t          $ r }d|d          }t	          |          |d }~ww xY wt          |d         |d         |          S t          |          t          k    rt          |d         |d         d           S d|  }t	          |          )Nr1   r]   r^   r   r_   rR   zInvalid notebook handle: )r`   ra   NUM_VERSIONED_NOTEBOOK_PARTSr8   rc   rN   NUM_UNVERSIONED_NOTEBOOK_PARTSre   s        r   parse_notebook_handlert      s    LLE
5zz111	+%(mmGG 	+ 	+ 	+7U1X77CS//s*	+ (1X
 
 
 	
 
U5	5	5 (1X
 
 
 	
 /f
.
.C
S//rj   c                 R    t          |           }t          di t          |          S Nr   )rt   rV   r   r[   notebook_handles     r   parse_utility_script_handlery      s+    +F33O99!8!8999r   c                 R    t          |           }t          di t          |          S rv   )rt   rX   r   rw   s     r   parse_package_handler{      s+    +F33O336/22333r   ) __doc__r   dataclassesr   r   kagglesdk.kaggle_envr   r   "kagglesdk.models.types.model_enumsr   kagglehub.enumr   rb   rd   rl   rm   rr   rs   r   r   r;   rH   rN   rV   rX   r   ri   rn   rp   rt   ry   r{   r   r   r   <module>r      s   * * 



 ) ) ) ) ) ) ) ) 6 6 6 6 6 6 6 6 = = = = = = " " " " " "  !     !"    $        $d d d d d. d d d@ $    N   2 $
 
 
 
 
 
 
 
 $    ^   2	 	 	 	 	. 	 	 	' ' ' ' 'N ' ' '     :s {    D1S 1-> 1 1 1 1# .    <: :0C : : : :
4 4 4 4 4 4 4 4r   