
    bf9                         d dl Z d dlmZmZmZmZ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  G d d	e          ZdS )
    N)AnyAsyncIteratorDictIteratorOptionalTuple)values)Domain)TwilioRestException)Page)Responsec                   2
   e Zd ZdZdedefdZdedefdZdedefdZ	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefdZ	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefdZedededededef
d            ZdedededefdZ	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefdZ	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefdZdedededefdZ	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefdZ	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefdZdedededefdZ	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefdZ	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefdZ	 d-d e	e         d!e	e         de
eef         fd"Z 	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefd#Z!	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefd$Z"	 	 d-d%e	e#         d e	e         d&e	e         de$e         fd'Z%	 	 d-d%e	e#         d e	e         d&e	e         de&e         fd(Z'dedededefd)Z(	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefd*Z)	 	 	 	 	 	 d,dedede	e
eef                  de	e
eef                  de	e
eef                  de	eeef                  de	e         dedefd+Z*d	S ).Versionz$
    Represents an API version.
    domainversionc                 "    || _         || _        d S )N)r   r   )selfr   r   s      M/var/www/html/Alfredo/env/lib/python3.11/site-packages/twilio/base/version.py__init__zVersion.__init__   s        urireturnc                 \    | j                             |                     |                    S )z<
        Turns a relative uri into an absolute url.
        )r   absolute_urlrelative_urir   r   s     r   r   zVersion.absolute_url   s(     {''(9(9#(>(>???r   c                     d                     | j                            d          |                    d                    S )zE
        Turns a relative uri into a versioned relative uri.
        z{}/{}/)formatr   stripr   s     r   r   zVersion.relative_uri   s2     ~~dl0055syy~~FFFr   NFmethodparamsdataheadersauthtimeoutallow_redirectsc	           
      p    |                      |          }	| j                            ||	||||||          S )z'
        Make an HTTP request.
        r"   r#   r$   r%   r&   r'   )r   r   request
r   r!   r   r"   r#   r$   r%   r&   r'   urls
             r   r*   zVersion.request    sN     $${""+ # 	
 	
 		
r   c	           
         K   |                      |          }	| j                            ||	||||||           d{V S )z3
        Make an asynchronous HTTP request
        r)   N)r   r   request_asyncr+   s
             r   r.   zVersion.request_async:   sp       $$[..+ / 	
 	
 	
 	
 	
 	
 	
 	
 		
r   responsemessagec                 b   	 t          j        |j                  }d|v rd                    ||d                   }|                    d          }|                    d|j                  }t          |j        |||||          S # t          $ r  t          |j        |||j        |          cY S w xY w)zK
        Wraps an exceptional response in a `TwilioRestException`.
        r0   z{}: {}detailscode)jsonloadstextr   getstatus_coder   	Exception)clsr!   r   r/   r0   error_payloadr2   r3   s           r   	exceptionzVersion.exceptionT   s    	 Jx}55MM))"//'=3KLL#''	22G $$VX-ABBD&$c7D&'    	 	 	&$c7H4H&    	s   BB 'B.-B.c                     |j         dk     s|j         dk    r|                     |||d          t          j        |j                  S )z,
        Parses fetch response JSON
           i  zUnable to fetch recordr8   r<   r4   r5   r6   r   r!   r   r/   s       r   _parse_fetchzVersion._parse_fetchj   sJ    
 #%%)=)D)D..h8PQQQz(-(((r   c	           
      j    |                      ||||||||          }	|                     |||	          S )z,
        Fetch a resource instance.
        r)   )r*   rA   
r   r!   r   r"   r#   r$   r%   r&   r'   r/   s
             r   fetchzVersion.fetcht   sN     <<+   	
 	
   h777r   c	           
      z   K   |                      ||||||||           d{V }	|                     |||	          S )z;
        Asynchronously fetch a resource instance.
        r)   N)r.   rA   rC   s
             r   fetch_asynczVersion.fetch_async   sr       +++ , 	
 	
 	
 	
 	
 	
 	
 	
   h777r   c                     |j         dk     s|j         dk    r|                     |||d          t          j        |j                  S )z-
        Parses update response JSON
        r>   ,  zUnable to update recordr?   r@   s       r   _parse_updatezVersion._parse_update   J     #%%)=)D)D..h8QRRRz(-(((r   c	           
      j    |                      ||||||||          }	|                     |||	          S )z-
        Update a resource instance.
        r)   )r*   rI   rC   s
             r   updatezVersion.update   N     <<+   	
 	
 !!&#x888r   c	           
      z   K   |                      ||||||||           d{V }	|                     |||	          S )z<
        Asynchronously update a resource instance.
        r)   N)r.   rI   rC   s
             r   update_asynczVersion.update_async   r       +++ , 	
 	
 	
 	
 	
 	
 	
 	
 !!&#x888r   c                 t    |j         dk     s|j         dk    r|                     |||d          |j         dk    S )z-
        Parses delete response JSON
        r>   rH   zUnable to delete record   )r8   r<   r@   s       r   _parse_deletezVersion._parse_delete   sF     #%%)=)D)D..h8QRRR#s**r   c	           
      j    |                      ||||||||          }	|                     |||	          S )z$
        Delete a resource.
        r)   )r*   rS   rC   s
             r   deletezVersion.delete   rM   r   c	           
      z   K   |                      ||||||||           d{V }	|                     |||	          S )z3
        Asynchronously delete a resource.
        r)   N)r.   rS   rC   s
             r   delete_asynczVersion.delete_async  rP   r   limit	page_sizec                 H    |||}|pt           j        |pt           j        dS )a  
        Takes a limit on the max number of records to read and a max page_size
        and calculates the max number of pages to read.

        :param limit: Max number of records to read.
        :param page_size: Max page size.
        :return A dictionary of paging limits.
        N)rX   rY   )r	   unset)r   rX   rY   s      r   read_limitszVersion.read_limits(  s9     !2I *fl"2fl
 
 	
r   c	           
      <    |                      ||||||||          S )z(
        Makes an HTTP request.
        r)   )r*   	r   r!   r   r"   r#   r$   r%   r&   r'   s	            r   pagezVersion.page;  s7     ||+  	
 	
 		
r   c	           
      L   K   |                      ||||||||           d{V S )z5
        Makes an asynchronous HTTP request.
        r)   N)r.   r^   s	            r   
page_asynczVersion.page_asyncT  s[       ''+ ( 	
 	
 	
 	
 	
 	
 	
 	
 		
r   r_   
page_limitc              #      K   d}d}|\|D ]$}|V  |dz  }|r|t           j        ur	||k     r dS %|dz  }|r|t           j        ur||k     rdS |                                }|ZdS dS z
        Generates records one a time from a page, stopping at prescribed limits.

        :param page: The page to stream.
        :param limit: The max number of records to read.
        :param page_limit: The max number of pages to read.
           N)r	   r[   	next_pager   r_   rX   rb   current_recordcurrent_pagerecords          r   streamzVersion.streamm  s         !# U&,665>;Q;QFFALfl22-->>##D r   c                   K   d}d}|c|D ]%}|W V  |dz  }|r|t           j        ur	||k     r dS &|dz  }|r|t           j        ur||k     rdS |                                 d{V }|adS dS rd   )r	   r[   next_page_asyncrg   s          r   stream_asynczVersion.stream_async  s         !# U&,665>;Q;QFFALfl22----////////D r   c                     |j         dk     s|j         dk    r|                     |||d          t          j        |j                  S )z,
        Parse create response JSON
        r>   rH   zUnable to create recordr?   r@   s       r   _parse_createzVersion._parse_create  rJ   r   c	           
      j    |                      ||||||||          }	|                     |||	          S )z-
        Create a resource instance.
        r)   )r*   rp   rC   s
             r   createzVersion.create  rM   r   c	           
      z   K   |                      ||||||||           d{V }	|                     |||	          S )z<
        Asynchronously create a resource instance.
        r)   N)r.   rp   rC   s
             r   create_asynczVersion.create_async  rP   r   )NNNNNF)NN)+__name__
__module____qualname____doc__r
   strr   r   r   r   r   objectr   floatboolr   r*   r.   classmethodr   r<   r   rA   rD   rF   rI   rL   rO   rS   rU   rW   intr\   r_   ra   r   r   rk   r   rn   rp   rr   rt    r   r   r   r      s        v     @ @ @ @ @ @G G G G G G /3,0,0*.#' %
 

 
 c6k*+	

 tCK()
 $sCx.)
 uS#X'
 %
 
 

 
 
 
< /3,0,0*.#' %
 

 
 c6k*+	

 tCK()
 $sCx.)
 uS#X'
 %
 
 

 
 
 
4 ".6AD	   [*)3 )S )H ) ) ) ) ) /3,0,0*.#' %8 88 8 c6k*+	8
 tCK()8 $sCx.)8 uS#X'8 %8 8 
8 8 8 8> /3,0,0*.#' %8 88 8 c6k*+	8
 tCK()8 $sCx.)8 uS#X'8 %8 8 
8 8 8 86)C )c )X )# ) ) ) ) /3,0,0*.#' %9 99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9 9 9 9> /3,0,0*.#' %9 99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9 9 9 96+C +c +X +$ + + + + /3,0,0*.#' %9 99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9 9 9 9> /3,0,0*.#' %9 99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9 9 9 98 GK
 
c]
6>sm
	c6k	
 
 
 
. /3,0,0*.#' %
 

 
 c6k*+	

 tCK()
 $sCx.)
 uS#X'
 %
 
 

 
 
 
: /3,0,0*.#' %
 

 
 c6k*+	

 tCK()
 $sCx.)
 uS#X'
 %
 
 

 
 
 
8  $$(	$ $tn$ }$ SM	$
 
#$ $ $ $H  $$(	0 0tn0 }0 SM	0
 
s	0 0 0 0B)C )c )X )# ) ) ) ) /3,0,0*.#' %9 99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9 9 9 9> /3,0,0*.#' %9 99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9 9 9 9 9 9r   r   )r4   typingr   r   r   r   r   r   twilio.baser	   twilio.base.domainr
   twilio.base.exceptionsr   twilio.base.pager   twilio.http.responser   rz   r   r   r   r   <module>r      s     F F F F F F F F F F F F F F F F       % % % % % % 6 6 6 6 6 6 ! ! ! ! ! ! ) ) ) ) ) )a9 a9 a9 a9 a9f a9 a9 a9 a9 a9r   