o
    lWi4                     @   s   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	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ G dd dZG dd dZdS )    N)JSONDecodeError   )ApiError)AsyncClientWrapperSyncClientWrapper)AsyncHttpResponseHttpResponse)jsonable_encoder)RequestOptions)construct_type)UnprocessableEntityError)DeleteSampleResponse)HttpValidationErrorc                
   @   D   e Zd ZdefddZdddededeje d	e	e
 fd
dZdS )RawSamplesClientclient_wrapperc                C   
   || _ d S N_client_wrapperselfr    r   a/var/www/html/asistente-voz-ia/venv/lib/python3.10/site-packages/elevenlabs/samples/raw_client.py__init__      
zRawSamplesClient.__init__Nrequest_optionsvoice_id	sample_idr   returnc             	   C   s   | j jjdt| dt| d|d}z>d|j  kr dk r5n ntttt|	 d}t
||dW S |jd	krMtt|jtttt|	 dd
|	 }W n tye   t|jt|j|jdw t|jt|j|d)a  
        Removes a sample by its ID.

        Parameters
        ----------
        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        sample_id : str
            ID of the sample to be used. You can use the [Get voices](/docs/api-reference/voices/get) endpoint list all the available samples for a voice.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        HttpResponse[DeleteSampleResponse]
            Successful Response
        
v1/voices/	/samples/DELETEmethodr      ,  type_object_responsedata  headersbodystatus_coder0   r1   )r   httpx_clientrequestr	   r3   typingcastr   r   jsonr   r   dictr0   r   r   r   textr   r   r   r   	_response_data_response_jsonr   r   r   delete   s>   

zRawSamplesClient.delete)__name__
__module____qualname__r   r   strr6   Optionalr
   r   r   r?   r   r   r   r   r          r   c                
   @   r   )AsyncRawSamplesClientr   c                C   r   r   r   r   r   r   r   r   L   r   zAsyncRawSamplesClient.__init__Nr   r   r   r   r    c             	      s   | j jjdt| dt| d|dI dH }z>d|j  kr$dk r9n ntttt|	 d}t
||d	W S |jd
krQtt|jtttt|	 dd|	 }W n tyi   t|jt|j|jdw t|jt|j|d)a  
        Removes a sample by its ID.

        Parameters
        ----------
        voice_id : str
            ID of the voice to be used. You can use the [Get voices](/docs/api-reference/voices/search) endpoint list all the available voices.

        sample_id : str
            ID of the sample to be used. You can use the [Get voices](/docs/api-reference/voices/get) endpoint list all the available samples for a voice.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        AsyncHttpResponse[DeleteSampleResponse]
            Successful Response
        r!   r"   r#   r$   Nr&   r'   r(   r+   r.   r/   r2   )r   r4   r5   r	   r3   r6   r7   r   r   r8   r   r   r9   r0   r   r   r   r:   r;   r   r   r   r?   O   s@   

zAsyncRawSamplesClient.delete)r@   rA   rB   r   r   rC   r6   rD   r
   r   r   r?   r   r   r   r   rF   K   rE   rF   )r6   json.decoderr   core.api_errorr   core.client_wrapperr   r   core.http_responser   r   core.jsonable_encoderr	   core.request_optionsr
   core.unchecked_base_modelr   !errors.unprocessable_entity_errorr   types.delete_sample_responser   types.http_validation_errorr   r   rF   r   r   r   r   <module>   s   :