
    =h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y)
    N)AnyAsyncIteratorDictIteratorOptionalTuple)values)Domain)TwilioRestException)Page)Responsec                   `   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*y	)-Versionz$
    Represents an API version.
    domainversionc                      || _         || _        y )N)r   r   )selfr   r   s      c/var/www/html/phonemate/phone_mate_backend/venv/lib/python3.12/site-packages/twilio/base/version.py__init__zVersion.__init__   s        urireturnc                 V    | j                   j                  | 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                 v    dj                  | j                  j                  d      |j                  d            S )zE
        Turns a relative uri into a versioned relative uri.
        z{}/{}/)formatr   stripr   s     r   r   zVersion.relative_uri   s,     ~~dll005syy~FFr   Nmethodparamsdataheadersauthtimeoutallow_redirectsc	           
      j    | j                  |      }	| j                  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    sH     ${{""+ # 	
 		
r   c	           
         K   | j                  |      }	| j                  j                  ||	||||||       d{   S 7 w)z3
        Make an asynchronous HTTP request
        r)   N)r   r   request_asyncr+   s
             r   r.   zVersion.request_async:   sV      $[[..+ / 	
 	
 		
 	
s   8A?Aresponsemessagec                 f   	 t        j                  |j                        }d|v rdj                  ||d         }|j	                  d      }|j	                  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    	 JJx}}5MM)"//'=3KL#''	2G $$VX-A-ABD&$$c7D&'   	&$$c7H4H4H& 	s   A>B ,B0/B0c                     |j                   dk  s|j                   dk\  r| j                  |||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   sH    
 #%)=)=)D..h8PQQzz(--((r   c	           
      Z    | j                  ||||||||      }	| 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   sF     <<+   	
   h77r   c	           
      v   K   | j                  ||||||||       d{   }	| j                  |||	      S 7 w)z;
        Asynchronously fetch a resource instance.
        r)   N)r.   rA   rC   s
             r   fetch_asynczVersion.fetch_async   sV      +++ , 	
 	
   h77	
   979c                     |j                   dk  s|j                   dk\  r| j                  |||d      t        j                  |j                        S )z-
        Parses update response JSON
        r>   ,  zUnable to update recordr?   r@   s       r   _parse_updatezVersion._parse_update   H     #%)=)=)D..h8QRRzz(--((r   c	           
      Z    | j                  ||||||||      }	| j                  |||	      S )z-
        Update a resource instance.
        r)   )r*   rJ   rC   s
             r   updatezVersion.update   F     <<+   	
 !!&#x88r   c	           
      v   K   | j                  ||||||||       d{   }	| j                  |||	      S 7 w)z<
        Asynchronously update a resource instance.
        r)   N)r.   rJ   rC   s
             r   update_asynczVersion.update_async   V      +++ , 	
 	
 !!&#x88	
rG   c                     |j                   dk  s|j                   dk\  r| j                  |||d      |j                   dk(  S )z-
        Parses delete response JSON
        r>   rI   zUnable to delete record   )r8   r<   r@   s       r   _parse_deletezVersion._parse_delete   sF     #%)=)=)D..h8QRR##s**r   c	           
      Z    | j                  ||||||||      }	| j                  |||	      S )z$
        Delete a resource.
        r)   )r*   rT   rC   s
             r   deletezVersion.delete   rN   r   c	           
      v   K   | j                  ||||||||       d{   }	| j                  |||	      S 7 w)z3
        Asynchronously delete a resource.
        r)   N)r.   rT   rC   s
             r   delete_asynczVersion.delete_async  rQ   rG   limit	page_sizec                 `    |||}|xs t         j                  |xs 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.
        )rY   rZ   )r	   unset)r   rY   rZ   s      r   read_limitszVersion.read_limits(  s8     !2I *fll"2fll
 	
r   c	           
      4    | j                  ||||||||      S )z(
        Makes an HTTP request.
        r)   )r*   	r   r!   r   r"   r#   r$   r%   r&   r'   s	            r   pagezVersion.page;  s2     ||+  	
 		
r   c	           
      P   K   | j                  ||||||||       d{   S 7 w)z5
        Makes an asynchronous HTTP request.
        r)   N)r.   r_   s	            r   
page_asynczVersion.page_asyncT  sB      ''+ ( 	
 	
 		
 	
s   &$&r`   
page_limitc              #      K   d}d}|`|D ](  }| |dz  }|s|t         j                  us"||k  s( y |dz  }|r|t         j                  ur||k  ry|j                         }|_yyw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`   rY   rc   current_recordcurrent_pagerecords          r   streamzVersion.streamm  s      !#U&,,65>;Q	  ALfll2->>#D s   A*A*A*4A*(A*c                   K   d}d}|i|D ])  }| |dz  }|s|t         j                  us#||k  s) y |dz  }|r|t         j                  ur||k  ry|j                          d{   }|hyy7 	wre   )r	   r\   next_page_asyncrh   s          r   stream_asynczVersion.stream_async  s      !#U&,,65>;Q	  ALfll2---//D  0s&   A5A5A55A5)A3*A51A5c                     |j                   dk  s|j                   dk\  r| j                  |||d      t        j                  |j                        S )z,
        Parse create response JSON
        r>   rI   zUnable to create recordr?   r@   s       r   _parse_createzVersion._parse_create  rK   r   c	           
      Z    | j                  ||||||||      }	| j                  |||	      S )z-
        Create a resource instance.
        r)   )r*   rq   rC   s
             r   createzVersion.create  rN   r   c	           
      v   K   | j                  ||||||||       d{   }	| j                  |||	      S 7 w)z<
        Asynchronously create a resource instance.
        r)   N)r.   rq   rC   s
             r   create_asynczVersion.create_async  rQ   rG   )NNNNNF)NN)+__name__
__module____qualname____doc__r
   strr   r   r   r   r   objectr   floatboolr   r*   r.   classmethodr   r<   r   rA   rD   rF   rJ   rM   rP   rT   rV   rX   intr]   r`   rb   r   r   rl   r   ro   rq   rs   ru    r   r   r   r      s	   v  @ @ @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 c6k*+	8
 tCK()8 $sCx.)8 uS#X'8 %8 8 
8> /3,0,0*.#' %88 8 c6k*+	8
 tCK()8 $sCx.)8 uS#X'8 %8 8 
86)C )c )X )# ) /3,0,0*.#' %99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9> /3,0,0*.#' %99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
96+C +c +X +$ + /3,0,0*.#' %99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9> /3,0,0*.#' %99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'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tn0 }0 SM	0
 
s	0B)C )c )X )# ) /3,0,0*.#' %99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'9 %9 9 
9> /3,0,0*.#' %99 9 c6k*+	9
 tCK()9 $sCx.)9 uS#X'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   r{   r   r   r   r   <module>r      s+     F F  % 6 ! )a9f a9r   