
    Pi                     :   d dl Z d dlmZ d dlmZ d dlmZ d dlZd dlm	Z	 d dl
mZmZ d dlmZ  ede		          Z e j        e          Z G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d dej                  Z G d dej                  Z G d de          Z G d de          Zd%deg ef         dedz  d efd!Zd%d"ej         dedz  d dfd#Z!deg ef         d efd$Z"dS )&    N)Callable)
HTTPStatus)TypeVar)KaggleObject)CompetitionHandleResourceHandle)EXTRA_CONSOLE_BLOCKR)boundc                       e Zd ZdS )CredentialErrorN__name__
__module____qualname__     h/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/kagglehub/exceptions.pyr   r              Dr   r   c                       e Zd ZdS )KaggleEnvironmentErrorNr   r   r   r   r   r      r   r   r   c                       e Zd ZdS )ColabEnvironmentErrorNr   r   r   r   r   r      r   r   r   c                   4     e Zd Zddededz  ddf fdZ xZS )BackendErrorNmessage
error_codereturnc                 X    || _         t                                          |           d S N)r   super__init__)selfr   r   	__class__s      r   r"   zBackendError.__init__   s(    $!!!!!r   r    )r   r   r   strintr"   __classcell__r$   s   @r   r   r      s[        " " "t "t " " " " " " " " " "r   r   c                       e Zd ZdS )NotFoundErrorNr   r   r   r   r*   r*   #   r   r   r*   c                       e Zd ZdS )DataCorruptionErrorNr   r   r   r   r,   r,   '   r   r   r,   c                   >     e Zd Zddedej        dz  ddf fdZ xZS )KaggleApiHTTPErrorNr   responser   c                 N    t                                          ||           d S Nr/   r!   r"   r#   r   r/   r$   s      r   r"   zKaggleApiHTTPError.__init__,   &    844444r   r    r   r   r   r%   requestsResponser"   r'   r(   s   @r   r.   r.   +   `        5 5 5x/@4/G 5SW 5 5 5 5 5 5 5 5 5 5r   r.   c                   >     e Zd Zddedej        dz  ddf fdZ xZS )ColabHTTPErrorNr   r/   r   c                 N    t                                          ||           d S r1   r3   r4   s      r   r"   zColabHTTPError.__init__1   r5   r   r    r6   r(   s   @r   r;   r;   0   r9   r   r;   c                   .     e Zd ZdZddeddf fdZ xZS )UnauthenticatedErrorz:Exception raised for errors in the authentication process.User is not authenticatedr   r   Nc                 J    t                                          |           d S r    r3   )r#   r   r$   s     r   r"   zUnauthenticatedError.__init__8   s!    !!!!!r   )r?   )r   r   r   __doc__r%   r"   r'   r(   s   @r   r>   r>   5   sV        DD" " "d " " " " " " " " " "r   r>   c                       e Zd ZdS )UserCancelledErrorNr   r   r   r   rC   rC   <   r   r   rC   fnresource_handler   c                    	  |             S # t           j        $ rC}t          |          }d}	 |j        r|j        nd}|rd| d}nG# t           j        j        $ r0}t                              d| i t                     Y d}~nd}~ww xY w|r|	                                n|j
        j        }|j
        j        t          j        t          j        hv r@t!          |t"                    r|j
        j         d| d| d	}n|j
        j         d| d
| d}|j
        j        t          j        k    r|j
        j         d| d| d}t'          ||j
                  |d}~ww xY w)zCHandle errors for handler NOT returning 200 status code on failure. z*The server reported the following issues: 
z Server payload is not json. See )extraNE Client Error.

You don't have permission to access resource at URL: zu
Please make sure you are authenticated and have accepted the competition rules which can be found at this location: z/rulesz. zvPlease make sure you are authenticated if you are trying to access a private resource or a resource requiring consent.z+ Client Error.

Resource not found at URL: z@Please make sure you specified the correct resource identifiers.r2   )r7   	HTTPErrorr%   strerror
exceptionsJSONDecodeErrorloggerinfor	   to_urlr/   urlstatus_coder   UNAUTHORIZED	FORBIDDEN
isinstancer   	NOT_FOUNDr.   )rD   rE   er   server_error_messageexresource_urls          r   handle_callr\   @   s   )Frtt 'F 'F 'Fa&&!	`12#C1:: # m'lTh'l'l'l$"2 	` 	` 	`KK?2??G^J]G^K________	`3BV--///
:!j&=z?S%TTT/+<== z- L LLXL L 8D	L L L  z- I ILXI I ,I I I  :!Z%999:) S S.:S S (S S S  !1:>>>AEO'Fs>   	 EEAEB&BEBCEEr/   c                 2   	 |                                   dS # t          j        $ ro}t          |          }|r|                                n| j        }| j        t          j        t          j	        hv r| j         d| d}t          ||           |d}~ww xY w)z
    Wrapper around `response.raise_for_status()` that provides nicer error messages
    See: https://requests.readthedocs.io/en/latest/api/#requests.Response.raise_for_status
    rJ   zw
Please make sure you are authenticated if you are trying to access a private resource or a resource requiring consent.r2   N)raise_for_statusr7   rK   r%   rQ   rR   rS   r   rT   rU   r;   )r/   rE   rX   r   r[   s        r   colab_raise_for_statusr_   n   s    
@!!##### @ @ @a&&3BT--///J$;Z=Q#RRR' & &HT& & &  Wx888a?@s    BA*BBc                 P    |                                              }d|                    dd          cxk    rdk     s'n |                    dd          }t          |          d|v r=|d         dk    r1d|v rt          |d                   nd	}t          |d         |          |S )
aD  
    Handle errors for handlers returning 200 status code & an error message in the body on failure.

    These are mostly create & update handlers. E.g.: https://github.com/Kaggle/kaggleazure/blob/be355335448271845fc460a6e153f2cd4b030fec/Kaggle.Services.Models/Handlers/ModelApiService/V1/DeleteModelHandler.cs#L29-L31
       codei,  r   zNo error message providederrorrG   	errorCodeN)to_dictgetr   r&   )rD   r/   error_messager   s       r   handle_mutate_callrh      s     rtt||~~H8<<,,2222s2222 Y0KLL=)))	H		'!2b!8!83>(3J3JS+.///PT
8G,j999Or   r    )#loggingcollections.abcr   httpr   typingr   r7   kagglesdk.kaggle_objectr   kagglehub.handler   r   kagglehub.loggerr	   r
   	getLoggerr   rO   	Exceptionr   r   r   r   r*   r,   rK   r.   r;   r>   rC   r\   r8   r_   rh   r   r   r   <module>rr      s    $ $ $ $ $ $              0 0 0 0 0 0 > > > > > > > > 0 0 0 0 0 0GC|$$$		8	$	$	 	 	 	 	i 	 	 		 	 	 	 	Y 	 	 		 	 	 	 	I 	 	 	" " " " "9 " " "	 	 	 	 	I 	 	 		 	 	 	 	) 	 	 	5 5 5 5 5+ 5 5 5
5 5 5 5 5X' 5 5 5
" " " " "9 " " "	 	 	 	 	 	 	 	+F +FHRUO +Fnt6K +FWX +F +F +F +F\@ @X%6 @Z^I^ @jn @ @ @ @.8BE? q      r   