
    Pi,                        U d dl Z d dlmZ d dlZd dlmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZ dZdZdZdZdZd	Zed
edededede	diZee         eee         eee         eee         eee         eee	         eiZee
edz  f         Zi Zeed<   de
d	edz  ddfdZdefdZ de!e j"        z  ddfdZ#de!e j"        z  defdZ$de
d	edz  defdZ%dede&e
edz  f         fdZ'd	ededz  fdZ(dS )    N)Any)CompetitionHandleDatasetHandleModelHandleNotebookHandlePackageHandleResourceHandleUtilityScriptHandleparse_competition_handleparse_dataset_handleparse_model_handleparse_notebook_handleparse_package_handleparse_utility_script_handlez0.1.0format_versiondatasourcestyperefversionCompetitionDatasetModelNotebookUtilityScriptPackage_accessed_datasourceshandlereturnc                     |t           | <   dS )zdRecord that a datasource was accessed.

    Link the user-requested handle to the version retrieved.N)r   )r   r   s     e/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/kagglehub/tracker.pyregister_datasource_accessr!   8   s     %,&!!!    c                  4    t                                           S N)r   copy r"   r    get_accessed_datasourcesr'   ?   s     %%'''r"   filepathc                     t           t          t          d t                                          D             i}t          | d          5 }t          j        ||d           ddd           dS # 1 swxY w Y   dS )zWrite the datasources accessed during this session to a yaml file.

    Args:
        filepath: (str | pathlib.Path) Where to write the yaml file.
    c                 4    g | ]\  }}t          ||          S r&   )_serialize_datasource).0hr   s      r    
<listcomp>zwrite_file.<locals>.<listcomp>K   s'    nnn*!W1!W==nnnr"   wF)	sort_keysN)FORMAT_VERSION_FIELDFORMAT_VERSIONDATASOURCES_FIELDr   itemsopenyamldump)r(   datafs      r    
write_filer:   C   s     	nnnPePkPkPmPmnnnD
 
h		 ,	$U++++, , , , , , , , , , , , , , , , , ,s   A,,A03A0c                 \   t          |           5 }t          j        |          }ddd           n# 1 swxY w Y   |                    t                    }|t
          k    rd| }t          |          i }|                    t          g           D ]}t          |          \  }}|||<   |S )zRead a yaml file with datasource + version records.

    Args:
        filepath: (str | pathlib.Path) Path of yaml file to read from.
    Returns:
        Dictionary mapping ResourceHandle to version number, parsed from file.
    Nz)Unsupported tracker file format version: )	r5   r6   	safe_loadgetr1   r2   
ValueErrorr3   _deserialize_datasource)	r(   r9   r8   r   msgversioned_datasources
datasourcer-   r   s	            r    	read_filerC   R   s     
h !1~a  ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! XX233N''J.JJoo24hh0"55 + +
,Z88
7#*a    s   155r-   c                     t           t          t          |                    t          t	          |           i}|
||t
          <   |S r$   )DATASOURCE_TYPE_FIELDHANDLE_TYPE_NAMESr   DATASOURCE_REF_FIELDstrDATASOURCE_VERSION_FIELD)r-   r   r8   s      r    r+   r+   j   s=    0a9c!ffD
 )0%&Kr"   r8   c                     t           | t                            } || t                             }t          |                     t
          d                     }||fS r$   )HANDLE_TYPE_PARSERSrE   rG   _parse_versionr=   rI   )r8   parserr-   r   s       r    r?   r?   v   sM     &;!<=Ft()**ATXX&>EEFFGg:r"   c                     | t          | t                    r| S t          | t                    r	 t          |           S #  Y nxY wd|  d}t          |          )NzInvalid version: 'z'. Expected an integer or None.)
isinstanceintrH   r>   )r   r@   s     r    rL   rL   ~   sg    *Wc22'3 	w<<	D
Gw
G
G
GC
S//s	   ? A))pathlibtypingr   r6   kagglehub.handler   r   r   r   r   r	   r
   r   r   r   r   r   r   r2   r1   r3   rE   rG   rI   rF   rK   dictrP   VersionedDatasourcesr   __annotations__r!   r'   rH   Pathr:   rC   r+   tupler?   rL   r&   r"   r    <module>rY      s                                       " ' !   $  }9J9  '(*Bm$&:k"$6n%'<)*,Gm$&:  NC$J67  /1 + 0 0 0,~ ,d
 ,t , , , ,("6 ( ( ( (,w|+ , , , , ,!gl* !/C ! ! ! !0	^ 	cDj 	T 	 	 	 	$ 5t1K+L    C C$J      r"   