
    UEjAO                         d Z ddlmZmZmZ ddlmZmZmZm	Z	 ddl
mZ ddlmZmZmZ ddlZddlmZmZmZmZmZmZ dd	lmZmZ  G d
 d      Z G d d      Zy)zACode generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.   )errorstypesutils)AfterErrorContextAfterSuccessContextBeforeRequestContextHookContext)SDKConfiguration)RetryConfigSerializedRequestBodyget_body_content    N)AnyCallableListMappingOptionalTuple)parse_qsurlparsec                   2   e Zd ZU eed<   dZee   ed<   	 	 ddedee   ddfdZd Z	dee
   dee   fd	Z	 	 	 	 	 	 	 	 	 dd
ee   deeg ee   f      dee   deeeef      deeee
f      deee      deee      dej&                  fdZ	 	 	 	 	 	 	 	 	 dd
ee   deeg ee   f      dee   deeeef      deeee
f      deee      deee      dej&                  fdZ	 	 ddedej&                  deegef   dedeeeee   f      dej4                  fdZy)BaseSDKsdk_configurationN
parent_ref
sdk_configreturnc                      || _         || _        y Nr   r   selfr   r   s      P/var/www/html/qr/venv/lib/python3.12/site-packages/google/genai/_gaos/basesdk.py__init__zBaseSDK.__init__)       
 ",$    c                 x    | j                   j                         \  }}||}||}t        j                  ||      S r   r   get_server_detailsr   template_urlr!   base_urlurl_variablessdk_urlsdk_variabless        r"   _get_urlzBaseSDK._get_url1   D    !%!7!7!J!J!LH )M!!(M::r%   timeoutc                 X   |y t        |t        t        f      rt        |dz        S t        |t        j                        rZ|j
                  |j                  |j                  |j                  g}|D cg c]  }||	 }}|sy t        t        |      dz        S t        d      c c}w N  z4timeout must be a float, int, httpx.Timeout, or None
isinstanceintfloathttpxTimeoutconnectreadwritepoolmax	TypeErrorr!   r1   valuesvaluefinite_valuess        r"   _coerce_timeout_mszBaseSDK._coerce_timeout_ms<       ?gU|,w~&&gu}}-oow||W]]GLLQF06Lu%:KULML s=)D011NOO	 M   4B'<B'
timeout_msget_serialized_bodyurl_overridehttp_headersextra_query_paramsallow_empty_valueallowed_fieldsc                 v    | j                   j                  }| j                  ||||||||||	|
|||||||||      S r   )r   client_build_request_with_clientr!   methodpathr+   r,   requestrequest_body_requiredrequest_has_path_paramsrequest_has_query_paramsuser_agent_headeraccept_header_value_globalssecurityrH   rI   rJ   rK   rL   rM   rN   rP   s                        r"   _build_requestzBaseSDK._build_requestI   sd    0 ''....!#$)
 	
r%   c           
      |   i }|}|Pt        j                  | j                  ||      ||r|nd |r|nd       }t        j                  |	r|nd |	r|nd |      }n+t	        t        |            }t        |j                  d      }t        j                  ||      }||d<   | j                  j                  ||
<   |t        |      r |       }t        j                  |t        j                        }|%t        j                  ||      \  }}i ||}i ||}|]|j!                         D ]J  \  }}|	t#        |t$        t&        f      r|D cg c]  }t        |       c}||<   <t        |      g||<   L t)               }| |       }|r|t+        d      ||}|j,                  |j,                  dvr|j,                  |d<   ||j!                         D ]
  \  } }||| <    ||dz  nd }!|j/                  ||||j0                  |j2                  |j4                  ||!|!      S t6        j8                        S c c}w 	NT)keep_blank_valuesAcceptzrequest body is required)zmultipart/form-datazmultipart/mixedzcontent-typer4   )paramscontentdatafilesheadersr1   r   generate_urlr/   get_query_paramsr   strr   queryget_headersr   
user_agentcallableget_security_from_envr   Securityget_securityitemsr6   listtupler   
ValueError
media_typebuild_requestrc   rd   re   r9   USE_CLIENT_DEFAULT"r!   rP   rS   rT   r+   r,   rU   rV   rW   rX   rY   rZ   r[   r\   rH   rI   rJ   rK   rL   rM   rN   query_paramsurlparsed_overriderf   security_headerssecurity_query_paramsnamerC   vserialized_request_bodyrbheaderr1   s"                                     r"   rQ   z"BaseSDK._build_request_with_clienty      2 ;$$h623	C !1134$!L 's<'89O#O$9$9TRL##GX6/%)%;%;%F%F!"!#:..xH6;6H6H.733 65$45GDlD.CDL)1779 6e=edE]3:?)@Q#a&)@L&*-e*L&6 #8"9*$&B$ !;<<~*,' $..:'22 '>&H&HGN##!-!3!3!5 ("'( (2'=*t#4##+33(--)//&2G $ 	
 		
 9>8P8P $ 	
 		
; *A   
H9hook_ctxrU   is_error_status_codestreamretry_configc                 T  
 | j                   j                  
| j                   j                  | j                   j                  d   ddt        f
fd}|1t        j                  |t        j                  |d   |d               }n |       } ||j                        rcj                  t              |d       \  }}	|	j                  dd       |	||}|S j                  d	       t        j                  d
|      j                  t              |      }|S )N_hooksr   _attemptc           	         d }	 j                  t              	      }d	j                  v r*d|j                  vr	j                  d   |j                  d<   j                  d|j                  |j
                  |j                  t        |             t        d      j                  |
      }|&j                  d       t        j                  d	      j                  d
|j                  |j
                  |j                  
rd       |S |j                          |S # t        $ r@}j                  t              d |      \  }}|j                  dd       |Y d }~d }~ww xY wNr1   z0Request:
Method: %s
URL: %s
Headers: %s
Body: %szclient is required)r   Request ExceptionTexc_infozRaising no response SDK errorzNo response receivedz6Response:
Status Code: %s
URL: %s
Headers: %s
Body: %sz<streaming response>before_requestr   
extensionsdebugrS   r{   rf   r   ru   send	Exceptionafter_errorr   r   NoResponseErrorstatus_codetext)r   http_resreqe_rP   r   hooksloggerrU   r   s        r"   dozBaseSDK.do_request.<locals>.do   si   H**+?+I7S 2 22y7V070B0B90MCNN9-JJJGGKK$S) >$%9::!;;s6;: <=,,-CDDLLL$$  *0& O 7?mm O%  (():8)DdAN1=LL!4tLDG !s   B/D% %	E..6E))E.r   r   Tr   Raising unexpected SDK errorUnexpected error occurredr   )r   rP   debug_logger__dict__r7   r   retryRetriesr   r   r   r   r   GenAiDefaultErrorafter_successr   )r!   r   rU   r   r   r   r   r   resulterrrP   r   r   s    `` `     @@@r"   
do_requestzBaseSDK.do_request   s    ''..''44&&//9$	 $	 $	L #{{2u}}\!_lSTo'VWHtH 4 45++,=h,GSWXKFC04@	!!  ;<../JHUU**+>x+H(SHr%   r   	NNNNNNNNNFN)__name__
__module____qualname__r
   __annotations__r   r   objectr#   r/   r   r7   rE   r   r   rj   r   r   r9   Requestr]   rQ   r	   boolr   r   Responser    r%   r"   r   r   !   su   ''#'J ' (,%$% V$% 
	%	;P(3- PHSM P2 $( &*48:>15.2-.
 SM.
 &R"7889
.
$ sm%.
& wsCx01'.
( %WS#X%67).
* $DI.+.
, !c+-.
. 
/.
z $( &*48:>15.2/i
 SMi
  &R"7889
!i
& sm'i
( wsCx01)i
* %WS#X%67+i
, $DI.-i
. !c+/i
0 
1i
` @DEE E 'ud{3	E
 E u[$s)%;<=E 
Er%   r   c                   2   e Zd ZU eed<   dZee   ed<   	 	 ddedee   ddfdZd Z	dee
   dee   fd	Z	 	 	 	 	 	 	 	 	 dd
ee   deeg ee   f      dee   deeeef      deeee
f      deee      deee      dej&                  fdZ	 	 	 	 	 	 	 	 	 dd
ee   deeg ee   f      dee   deeeef      deeee
f      deee      deee      dej&                  fdZ	 	 ddedej&                  deegef   dedeeeee   f      dej4                  fdZy)AsyncBaseSDKr   Nr   r   r   c                      || _         || _        y r   r   r    s      r"   r#   zAsyncBaseSDK.__init__4  r$   r%   c                 x    | j                   j                         \  }}||}||}t        j                  ||      S r   r'   r*   s        r"   r/   zAsyncBaseSDK._get_url<  r0   r%   r1   c                 X   |y t        |t        t        f      rt        |dz        S t        |t        j                        rZ|j
                  |j                  |j                  |j                  g}|D cg c]  }||	 }}|sy t        t        |      dz        S t        d      c c}w r3   r5   rA   s        r"   rE   zAsyncBaseSDK._coerce_timeout_msG  rF   rG   rH   rI   rJ   rK   rL   rM   rN   c                 v    | j                   j                  }| j                  ||||||||||	|
|||||||||      S r   )r   async_clientrQ   rR   s                        r"   _build_request_asyncz!AsyncBaseSDK._build_request_asyncT  sd    0 ''44..!#$)
 	
r%   c           
      |   i }|}|Pt        j                  | j                  ||      ||r|nd |r|nd       }t        j                  |	r|nd |	r|nd |      }n+t	        t        |            }t        |j                  d      }t        j                  ||      }||d<   | j                  j                  ||
<   |t        |      r |       }t        j                  |t        j                        }|%t        j                  ||      \  }}i ||}i ||}|]|j!                         D ]J  \  }}|	t#        |t$        t&        f      r|D cg c]  }t        |       c}||<   <t        |      g||<   L t)               }| |       }|r|t+        d      ||}|j,                  |j,                  dvr|j,                  |d<   ||j!                         D ]
  \  } }||| <    ||dz  nd }!|j/                  ||||j0                  |j2                  |j4                  ||!|!      S t6        j8                        S c c}w r_   rg   ry   s"                                     r"   rQ   z'AsyncBaseSDK._build_request_with_client  r   r   r   rU   r   r   r   c                   
K   | j                   j                  | j                   j                  | j                   j                  d   
ddt        f
fd}|9t        j                  |t        j                  |d   |d                d {   }n |        d {   } ||j                        rk
j                  t              |d        d {   \  }}	|	j                  dd       |	||}|S j                  d	       t        j                  d
|      
j                  t              |       d {   }|S 7 7 7 t7 w)N_async_hooksr   r   c           	      &  K   d }	 j                  t              	       d {   }d	j                  v r*d|j                  vr	j                  d   |j                  d<   j                  d|j                  |j
                  |j                  t        |             t        d      j                  |
       d {   }|&j                  d       t        j                  d	      j                  d
|j                  |j
                  |j                  
rd       |S |j                          |S 7 7 x# t        $ rI}j                  t              d |       d {  7  \  }}|j                  dd       |Y d }~d }~ww xY wwr   r   )r   r   r   r   r   async_hooksrP   r   r   rU   r   s        r"   r   z)AsyncBaseSDK.do_request_async.<locals>.do  s    H'66(2G   2 22y7V070B0B90MCNN9-JJJGGKK$S) >$%9::!'S!@@ <=,,-CDDLLL$$  *0& O 7?mm OO" A (44%h/q  1 =LL!4tLDG !s^   FD< D7BD< D:D< A1F7D< :D< <	FF	$E'%F	F	FFr   r   Tr   r   r   r   )r   r   r   r   r7   r   retry_asyncr   r   r   r   r   r   r   r   r   )r!   r   rU   r   r   r   r   r   r   r   r   rP   r   s    `` `     @@@r"   do_request_asynczAsyncBaseSDK.do_request_async  sU     ''44''44,,55nE*	s *	 *	X #"..EMM,q/<?C H  TzH 4 45 + 7 7!(+Xt! KFC 04@	!!  ;<../JHUU(66#H-x H 1 "sI   BEEE%E&5EEA)EEEEEEr   r   r   )r   r   r   r
   r   r   r   r   r#   r/   r   r7   rE   r   r   rj   r   r   r9   r   r   rQ   r	   r   r   r   r   r   r   r%   r"   r   r   ,  su   ''#'J ' (,%$% V$% 
	%	;P(3- PHSM P2 $( &*48:>15.2-.
 SM.
 &R"7889
.
$ sm%.
& wsCx01'.
( %WS#X%67).
* $DI.+.
, !c+-.
. 
/.
z $( &*48:>15.2/i
 SMi
  &R"7889
!i
& sm'i
( wsCx01)i
* %WS#X%67+i
, $DI.-i
. !c+/i
0 
1i
` @DRR R 'ud{3	R
 R u[$s)%;<=R 
Rr%   r   )__doc__ r   r   r   r   r   r   r   r	   sdkconfigurationr
   r   r   r   r9   typingr   r   r   r   r   r   urllib.parser   r   r   r   r   r%   r"   <module>r      sK   " H " "  / G G  @ @ +H HVU Ur%   