
    LMho                        d dl Z d dlm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  e j        e          Zded	ed
dfdZ	 ddddededee         dee         d
df
dZ	 ddddedededee         d
df
dZ	 ddddededee         dedee         d
dfdZded	ed
dfdZded	ed
dfdZded	ed
ee         fdZdS )    N)
HTTPStatus)Optional)BackendErrorKaggleApiV1Client)KaggleApiHTTPError)UploadDirectoryInfo)ModelHandle
owner_slug
model_slugreturnc                     | ||dd}t                      }|                    d|           t                              d| d           d S )NT)	ownerSlugslugtitle	isPrivatez/models/create/newModel 'z
' Created.)r   postloggerinfo)r
   r   data
api_clients       X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/kagglehub/models_helpers.py_create_modelr      sX    #Z*[_``D"$$JOO($///
KK0*00011111    Fsigstoremodel_handlefiles_and_directorieslicense_namer   c                R   |                                 }| j        | j        d |j        D             |d         |d}|||d<   t	                      }|                    d| j         d| j         d|           t          	                    d| 
                                            d S )	Nc                     g | ]}d |iS token .0
file_tokens     r   
<listcomp>z*_create_model_instance.<locals>.<listcomp>       VVVJ7J'VVVr   directories)instanceSlug	frameworkfilesr*   r   licenseName/models//z/create/instancezKYour model instance has been created.
Files are being processed...
See at: )	serialize	variationr,   r-   r   r   ownermodelr   r   to_url)r   r   r   r   serialized_datar   r   s          r   _create_model_instancer7      s     ,5577O$.!+VV:O:UVVV&}5 D *]"$$JOOX|1XXL4FXXXZ^___
KKw`l`s`s`u`uwwxxxxxr    version_notesc                N   |                                 }|d |j        D             |d         |d}t                      }|                    d| j         d| j         d| j         d| j         d	|           t          	                    d| 
                                            d S )Nc                     g | ]}d |iS r"   r$   r%   s     r   r(   z2_create_model_instance_version.<locals>.<listcomp>5   r)   r   r*   )versionNotesr-   r*   r   r/   r0   z/create/versionzSYour model instance version has been created.
Files are being processed...
See at: )r1   r-   r   r   r3   r4   r,   r2   r   r   r5   )r   r   r9   r   r6   r   r   s          r   _create_model_instance_versionr=   +   s     ,5577O%VV:O:UVVV&}5	 D #$$JOO}<%}}(:}}\=S}}VbVl}}}   KKw`l`s`s`u`uww    r   r-   c                    	 t          | |||           d S # t          $ r6}|j        t          j        k    rt          | |||           n|Y d }~d S d }~ww xY w)Nr   )r7   r   
error_coder   CONFLICTr=   )r   r-   r   r9   r   es         r    create_model_instance_or_versionrB   C   s    |UL8TTTTTT   <:...*<X`aaaaaI baaaaas    
A+AAc                 j   	 t                      }|                    d|  d| d           d S # t          $ rz}|j        f|j        j        t
          j        k    s|j        j        t
          j        k    r2t          	                    d| d|  d           t          | |           n|Y d }~d S d }~ww xY w)Nr/   r0   z/getr   z2' does not exist or access is forbidden for user 'z '. Creating or handling Model...)r   getr   responsestatus_coder   	NOT_FOUND	FORBIDDENr   r   r   r
   r   r   rA   s       r   create_model_if_missingrJ   U   s    &((
?*??z???@@@@@ 
 
 
:!J"j&:::z%)===KK E*  E  EXb  E  E  E   *j1111I 211111
s   *. 
B2A/B--B2c                    	 t                      }|                    d|  d| di            d S # t          $ rP}|j        <|j        j        t
          j        k    r"t                              d| d|  d           n|Y d }~d S d }~ww xY w)Nr/   r0   z/deletezCould not delete Model '' for user 'z'...)	r   r   r   rE   rF   r   rG   r   r   rI   s       r   delete_modelrM   f   s    
&((
7z77J777	
 	
 	
 	
 	
    :!aj&<
@T&T&TKK[:[[:[[[\\\\I ]\\\\\s   +/ 
B	ABB	c                 0   	 t                      }|                    d| |d          }|                    d          S # t          $ rM}|j        ;|j        j        t          j        k    r!t          	                    d| d|  d           Y d}~dS d}~ww xY w)	zFReturns a JWT for signing if authorized for /{owner_slug}/{model_slug}z/models/signing/token)r   	modelSlugid_tokenNz'Could not get Signing token for Model 'rL   z'. Skipping signing...r8   )
r   r   rD   r   rE   rF   r   rG   r   r   )r
   r   r   resprA   s        r   signing_tokenrR   t   s    	&((
6j_i8j8jkkxx
###   :!aj&<
@T&T&TKKt*ttR\ttt   rrrrrs   ;> 
BABB)N)r8   )logginghttpr   typingr   kagglehub.clientsr   r   kagglehub.exceptionsr   kagglehub.gcs_uploadr   kagglehub.handler	   	getLogger__name__r   strr   boolr7   r=   rB   rJ   rM   rR   r$   r   r   <module>r^      s                = = = = = = = = 3 3 3 3 3 3 4 4 4 4 4 4 ( ( ( ( ( (		8	$	$2c 2s 2t 2 2 2 2 #'y
  %y y yy.y 3-y
 tny 
y y y y4 
  %  . 
 tn 
   8 	  %   3- 	 tn 
   $      "S c d    c s x}      r   