
    Li @              	          d dl Z d dlZd dl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 dd	lmZ  ej"                  d
      Z	 ddeeeef   ef   deeeef      deeef   fdZ	 ddeeeef   ef   deeeef      deeef   fdZ	 ddeeeef   ef   deeeef      deeef   fdZ	 ddeeeef   ef   deeeef      deeef   fdZ G d de
j4                        Z G d de
j4                        Zy)    N)AnyOptionalTypeVarUnion)	urlencode   )_api_module)_common)types)get_value_by_path)set_value_by_pathzgoogle_genai.operationsfrom_objectparent_objectreturnc                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |ddgt        | dg             |S )Noperation_nameoperationNameresource_name_urlresourceNamegetvsetvr   r   	to_objects      U/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/google/genai/operations.py*_FetchPredictOperationParameters_to_vertexr   !   sl     !)	+()*6_%tK:J9K'LM	+()5	 [?+, 
    c                 X    i }t        | dg      t        |ddgt        | dg             |S Nr   r   r   r   r   s      r    _GetOperationParameters_to_mldevr!   3   C     !)	+()*6	![+,- 
r   c                 X    i }t        | dg      t        |ddgt        | dg             |S r    r   r   s      r   !_GetOperationParameters_to_vertexr$   B   r"   r   c                 X    i }t        | dg      t        |ddgt        | dg             |S )Noperation_idr   r   r   s      r   (_GetProjectOperationParameters_to_vertexr'   Q   s?     !)	+'(4FN+T+?O-P 
r   c            	          e Zd Zdddedeej                     defdZdddededeej                     defdZ
ddd	edeej                     dej                  fd
Z edej                        Zdddedeej                     defdZy)
OperationsNconfigr   r+   r   c                   t        j                  ||      }| j                  j                  r3t	        |      }|j                  d      }|rdj                  |      }n5d}n2t        |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd        d }|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	|	j                   si }
|
S t#        j$                  |	j                         }
|
S Nr   r+   r   z{operationName}_query?r+   get)r   _GetOperationParameters_api_clientvertexair$   r1   
format_mapr!   r   popr+   http_optionsr
   convert_to_dictencode_unserializable_typesrequestbodyjsonloadsselfr   r+   parameter_modelrequest_dictrequest_url_dictpathquery_paramsr7   responseresponse_dicts              r   _get_videos_operationz Operations._get_videos_operation`   sg    33%O   6Gl%))&1	 ++,<= 5oFl%))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t\<PH&mmBM 26HMM1JMr   r   c                   t        j                  |||      }| j                  j                  st	        d      t        |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd        d }	|j                  ,|j                  j                  |j                  j                  }	t        j                  |      }t        j                  |      }| j                  j                  d|||	      }
|
j                   si }|S t#        j$                  |
j                         }|S 	Nr   r   r+   6This method is only supported in the Vertex AI client.r   z${resourceName}:fetchPredictOperationr/   r0   r+   post)r    _FetchPredictOperationParametersr3   r4   
ValueErrorr   r1   r5   r   r6   r+   r7   r
   r8   r9   r:   r;   r<   r=   r?   r   r   r+   r@   rA   rB   rC   rD   r7   rE   rF   s               r   _fetch_predict_videos_operationz*Operations._fetch_predict_videos_operation   sK    <<%#O $$OPP?Pl%))&1	5@@
 6##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''lLH 'mmBM 26HMM1JMr   r&   c                6   t        j                  ||      }| j                  j                  st	        d      t        |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd        d }|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||      }	|	j                   si nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         	      }| j                  j-                  |       |S 
N)r&   r+   rK   r   zoperations/{operation_id}r/   r0   r+   r1   )rE   kwargs)r   _GetProjectOperationParametersr3   r4   rN   r'   r1   r5   r   r6   r+   r7   r
   r8   r9   r:   r;   r<   r=   ProjectOperation_from_response
model_dump_verify_responser?   r&   r+   r@   rA   rB   rC   rD   r7   rE   rF   return_values               r   _getzOperations._get   ss    ::!O $$OPP=oNl%))&1	*556FG*##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL''t\<PH&mmBHMM1JM))88'A'A'C 9 L 	%%l3r   Tbound	operationc                   |j                   }|st        d      | j                  j                  r|j	                  d      d   }t        j                         }t        |t              r3|j                  dd      }|gt        j                  di t        |      }nHt        |t
        j                        r.|,|j                  |j                  nt        j                         }t        j                  |      }| j                  |||      }|j                  |d	      }	| j                  j                  |	       |	S | j!                  ||
      }|j                  |d	      }	| j                  j                  |	       |	S z Gets the status of an operation.zOperation name is empty.z/operations/r   r7   N)r7   rJ   T)is_vertex_air.   F )namerN   r3   r4   
rpartitionr   HttpOptions
isinstancedictr1   GetOperationConfigr7   FetchPredictOperationConfigrP   from_api_responserX   rG   
r?   r_   r+   r   r   r7   dict_optionsfetch_operation_configrF   response_operations
             r   r1   zOperations.get   s    ^^N122   $//?Bm&&(l	FD	!zz.$7#**@T,-?@,fe667F<N "". ""$ 	
  %@@#  ::'%' ; m %66
d 7  ''(:;00' 1 m %66
e 7  ''(:;r   __name__
__module____qualname__strr   r   GetOperationConfigOrDictr   rG   !FetchPredictOperationConfigOrDictrP   rU   r[   r   	Operationr\   r1   rc   r   r   r)   r)   ^   s     :>	/ / u556	/
 /l CG0 0 	0
 u>>?0 0l :>	/ / u556	/
 /b c)! :>	4 4  u556	4 
 	4 r   r)   c            	          e Zd Zdddedeej                     defdZdddededeej                     defdZ
ddd	edeej                     dej                  fd
Z edej                        Zdddedeej                     defdZy)AsyncOperationsNr*   r   r+   r   c                  K   t        j                  ||      }| j                  j                  r3t	        |      }|j                  d      }|rdj                  |      }n5d}n2t        |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd        d }|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d {   }	|	j                   si }
|
S t#        j$                  |	j                         }
|
S 7 5wr-   )r   r2   r3   r4   r$   r1   r5   r!   r   r6   r+   r7   r
   r8   r9   async_requestr;   r<   r=   r>   s              r   rG   z%AsyncOperations._get_videos_operation/  sz     33%O   6Gl%))&1	 ++,<= 5oFl%))&1	 ++,<= ##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t\< H 'mmBM 26HMM1JMs   EFF6Fr   c                  K   t        j                  |||      }| j                  j                  st	        d      t        |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd        d }	|j                  ,|j                  j                  |j                  j                  }	t        j                  |      }t        j                  |      }| j                  j                  d|||	       d {   }
|
j                   si }|S t#        j$                  |
j                         }|S 7 5wrI   )r   rM   r3   r4   rN   r   r1   r5   r   r6   r+   r7   r
   r8   r9   r{   r;   r<   r=   rO   s               r   rP   z/AsyncOperations._fetch_predict_videos_operationb  sY     <<%#O $$OPP?Pl%))&1	5@@
 6##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33lL H 'mmBM 26HMM1JMs   D&E (E)6E r&   c                R  K   t        j                  ||      }| j                  j                  st	        d      t        |      }|j                  d      }|rdj                  |      }nd}|j                  d      }|r| dt        |       }|j                  dd        d }|j                  ,|j                  j                  |j                  j                  }t        j                  |      }t        j                  |      }| j                  j                  d|||       d {   }	|	j                   si nt#        j$                  |	j                         }
t         j&                  j)                  |
|j+                         	      }| j                  j-                  |       |S 7 }wrR   )r   rT   r3   r4   rN   r'   r1   r5   r   r6   r+   r7   r
   r8   r9   r{   r;   r<   r=   rU   rV   rW   rX   rY   s               r   r[   zAsyncOperations._get  s     ::!O $$OPP=oNl%))&1	*556FG*##H-LvQy./0dXt$04L*""//;$++88l**<8L66|DL%%33t\< H 'mmBHMM1JM))88'A'A'C 9 L 	%%l3s   D%F''F%(A>F'r\   r]   r_   c                  K   |j                   }|st        d      | j                  j                  r|j	                  d      d   }t        j                         }t        |t              r3|j                  dd      }|gt        j                  di t        |      }nHt        |t
        j                        r.|,|j                  |j                  nt        j                         }t        j                  |      }| j                  |||       d{   }|j                  |d	      }	|	S | j                  ||
       d{   }|j                  |d	      }	|	S 7 I7 wra   )rd   rN   r3   r4   re   r   rf   rg   rh   r1   ri   r7   rj   rP   rk   rG   rl   s
             r   r1   zAsyncOperations.get  sz     ^^N122  $//?Bm&&(l	FD	!zz.$7#**@T,-?@,fe667F<N "". ""$ 	
  %@@#  !@@'%' A  m
 %66
d 7    66' 7  m %66
e 7   #s$   DE E/E EE E rp   rc   r   r   ry   ry   -  s     :>	1 1 u556	1
 1p CG0 0 	0
 u>>?0 0l :>	1 1 u556	1
 1f c)! :>	- -  u556	- 
 	- r   ry   )N)r<   loggingtypingr   r   r   r   urllib.parser    r	   r
   r   r   r   r   r   	getLoggerloggerrh   rt   objectr   r!   r$   r'   
BaseModuler)   ry   rc   r   r   <module>r      s  $   0 0 "    . . 
		4	5
 /3tCH~v-.DcN+ 
#s(^( /3tCH~v-.DcN+ 
#s(^" /3tCH~v-.DcN+ 
#s(^" /3
tCH~v-.
DcN+
 
#s(^
L '' L ^I k,, I r   