
    [TheD              	       J   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	 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
j6                        Z G d de
j6                        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dgt        | dg             t        | dg      t        |dgt        | dg             |S Noperation_name_urloperationNameconfiggetvsetvr   r   	to_objects      \/home/www/backend.miabetepe.com/venv/lib/python3.12/site-packages/google/genai/operations.py _GetOperationParameters_to_mldevr   !   i     !)	+()*6	![+,- 
+z".XJ[8* =>	    c                     i }t        | dg      t        |ddgt        | dg             t        | dg      t        |dgt        | dg             |S r   r   r   s      r   !_GetOperationParameters_to_vertexr!   3   r   r   c                     i }t        | dg      t        |dgt        | dg             t        | dg      t        |ddgt        | dg             t        | dg      t        |dgt        | dg             |S )Nr   r   resource_namer   resourceNamer   r   r   s      r   *_FetchPredictOperationParameters_to_vertexr%   E   s     !)	+()*6_%tK:J9K'LM	+()5	 [?+, 
+z".XJ[8* =>	r   c                     i }t        | dg      t        |ddgt        | dg             t        | dg      t        |dgt        | dg             |S )Noperation_idr   r   r   r   s      r   (_GetProjectOperationParameters_to_vertexr(   Z   se     !)	+'(4FN+T+?O-P 
+z".XJ[8* =>	r   c                 :   i }t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             t        | dg      t        |dgt        | dg             |S )Nnamemetadatadoneerrorr   r   s      r   _ProjectOperation_from_vertexr.   j   s     !)	+x ,VHd;9:	+
|$0ZL${ZL"AB	+x ,VHd;9:	+y!-WItK';<	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r   r   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d}
|
S t#        j$                  |	j                         }
|
S 	Nr   r   r   z{operationName}_query?r   get )r   _GetOperationParameters_api_clientvertexair!   r7   
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_paramsr>   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d	}|S t#        j$                  |
j                         }|S 
Nr   r#   r   6This method is only supported in the Vertex AI client.r   z${resourceName}:fetchPredictOperationr5   r6   r   postr8   )r    _FetchPredictOperationParametersr:   r;   
ValueErrorr%   r7   r<   r   r=   r   r>   r
   r?   r@   rA   rB   rC   rD   rF   r   r#   r   rG   rH   rI   rJ   rK   r>   rL   rM   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                x   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d	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
t         j(                  j+                  |
|j-                         
      }| j                  j/                  |       |S N)r'   r   rR   r   zoperations/{operation_id}r5   r6   r   r7   r8   )rL   kwargs)r   _GetProjectOperationParametersr:   r;   rU   r(   r7   r<   r   r=   r   r>   r
   r?   r@   rA   rB   rC   rD   r.   ProjectOperation_from_response
model_dump_verify_responserF   r'   r   rG   rH   rI   rJ   rK   r>   rL   rM   return_values               r   _getzOperations._get   s    ::!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  3MBm))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	      }	|	S | j                  ||
      }|j                  |d	      }	|	S z Gets the status of an operation.zOperation name is empty.z/operations/r   r>   N)r>   rQ   T)is_vertex_air4   F r*   rU   r:   r;   
rpartitionr   HttpOptions
isinstancedictr7   GetOperationConfigr>   FetchPredictOperationConfigrW   from_api_responserN   
rF   rf   r   r   r#   r>   dict_optionsfetch_operation_configrM   response_operations
             r   r7   zOperations.get  sb    ^^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   rN   !FetchPredictOperationConfigOrDictrW   r\   rb   r   	Operationrc   r7   rj   r   r   r0   r0   ~   s     :>	/ / u556	/
 /l CG0 0 	0
 u>>?0 0l :>	2 2 u556	2
 2h c)! :>	0 0  u556	0 
 	0 r   r0   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)AsyncOperationsNr1   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d}
|
S t#        j$                  |	j                         }
|
S 7 5wr3   )r   r9   r:   r;   r!   r7   r<   r   r   r=   r   r>   r
   r?   r@   async_requestrB   rC   rD   rE   s              r   rN   z%AsyncOperations._get_videos_operationN  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d	}|S t#        j$                  |
j                         }|S 7 5wrP   )r   rT   r:   r;   rU   r%   r7   r<   r   r=   r   r>   r
   r?   r@   r   rB   rC   rD   rV   s               r   rW   z/AsyncOperations._fetch_predict_videos_operation  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                  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d	nt#        j$                  |	j                         }
| j                  j                  rt'        |
      }
t         j(                  j+                  |
|j-                         
      }| j                  j/                  |       |S 7 wrY   )r   r[   r:   r;   rU   r(   r7   r<   r   r=   r   r>   r
   r?   r@   r   rB   rC   rD   r.   r\   r]   r^   r_   r`   s               r   rb   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  3MBm))88'A'A'C 9 L 	%%l3s   D%G'G(BGrc   rd   rf   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rh   rk   rs   s
             r   r7   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 rw   rj   r   r   r   r   L  s     :>	1 1 u556	1
 1p CG0 0 	0
 u>>?0 0l :>	4 4 u556	4
 4l c)! :>	- -  u556	- 
 	- r   r   )N)rC   loggingtypingr   r   r   r   urllib.parser   r8   r	   r
   r   r   r   r   r   	getLoggerloggerro   r{   objectr   r!   r%   r(   r.   
BaseModuler0   r   rj   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(^$ /3tCH~v-.DcN+ 
#s(^(K '' K \L k,, L r   