
    5P@i$                        d dl mZ d dl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 ddddZdddd
ZddddZ G d d	ej,                        ZdddZy)    )annotationsN)Iterator)generativelanguage)client)model_types)	operationc                l      t        j                           fd j                  dd      D        }|S )Nc              3  J   K   | ]  }t         j                  |        y wN)CreateTunedModelOperation
from_proto).0opr   s     h/home/www/lebenam.kofcorporation.com/venv/lib/python3.12/site-packages/google/generativeai/operations.py	<genexpr>z"list_operations.<locals>.<genexpr>#   s&       	",,R8s    # )namefilter_)
client_libget_default_operations_clientlist_operations)r   
operationss   ` r   r   r      s=    ~99;((b"(=J
     r   c               ~    |t        j                         }|j                  |       }t        j	                  ||      S )Nr   )r   r   get_operationr   r   )r   r   r   s      r   r   r   +   s;    ~99;			4		(B$//F;;r   c               R    |t        j                         }|j                  |       S )zMRaises:
    google.api_core.exceptions.MethodNotImplemented: Not implemented.r   )r   r   delete_operation)r   r   s     r   r   r   3   s+     ~99;"""--r   c                  f     e Zd Zed        Ze	 	 dd       Zedd       Zd Zd	dZ	d
 fdZ
 xZS )r   c                b    t        t        ||t        j                  t        j                        S )z
        result = getattr(proto, 'result', None)
        if result is not None:
            if result.value == b'':
                del proto.result
        )clsr   operations_clientresult_typemetadata_type)
from_gapicr   glm
TunedModelCreateTunedModelMetadata)r!   protor   s      r   r   z$CreateTunedModelOperation.from_proto=   s*     )$66
 	
r   c           	         t        |dd       }t        |dd       }|d|i}n	|d|i}ni } | d|j                  |j                  |j                  |j                  |j
                  d|S )N_polling_retrypollingretry)r   refreshcancelr#   r$    )getattr
_operation_refresh_cancel_result_type_metadata_type)r!   r   r-   r.   kwargss        r   from_core_operationz-CreateTunedModelOperation.from_core_operationN   s    
 )Z6	8T2)Fu%FF 
**&&$$!..#22
 
 	
r   c                .    | j                   j                  S r   )r3   r   selfs    r   r   zCreateTunedModelOperation.namef   s    ###r   c                $    | j                          y)z5Refresh the current statuses in metadata/result/errorN)_refresh_and_updater;   s    r   updatez CreateTunedModelOperation.updatej   s      "r   c              +    K   t        j                   d| j                  j                  dd|}| j                         sS| j                  }|j	                  | j                  j
                  |j                  z
         | | j                         sS| j                  }|j	                  | j                  j
                  |j                  z
         | j                         S w)zA tqdm wait bar, yields `Operation` statuses until complete.

        Args:
            **kwargs: passed through to `tqdm.auto.tqdm(..., **kwargs)`

        Yields:
            Operation statuses as `glm.CreateTunedModelMetadata` objects.
        r   )totalinitialr1   )tqdmmetadatatotal_stepsdoner?   completed_stepsnresult)r<   r8   barrD   s       r   wait_barz"CreateTunedModelOperation.wait_barn   s      iiMdmm77MfM ))+}}HJJt}}44suu<=N ))+ ==

4==0035589{{}s   BC AC c                N    t        j                  |      }t        |   |       y r   )r   decode_tuned_modelsuper
set_result)r<   rI   	__class__s     r   rO   z$CreateTunedModelOperation.set_result   s     //76"r   )r   zoperation_lib.Operation)returnstr)rQ   z&Iterator[glm.CreateTunedModelMetadata])rI   zglm.TunedModel)__name__
__module____qualname__classmethodr   r9   propertyr   r?   rK   rO   __classcell__)rP   s   @r   r   r   <   sY    
 
  
*
 
. $ $#(# #r   )grpc_metadatac                   t        j                  |j                  |j                  |      }t        j                  |j                  |j                  |      } | |||||fi |S )zD`google.api_core.operation.from_gapic`, patched to allow subclasses.)rD   )	functoolspartialr   r   cancel_operation)	r!   r   r"   r#   r$   rY   r8   r/   r0   s	            r   r%   r%      sd     ''-G **F
 y'6;PPPr   )rQ   z#Iterator[CreateTunedModelOperation])r   rR   rQ   r   )r   rR   )
__future__r   r[   typingr   	google.air   r&   google.generativeair   r   google.generativeai.typesr   google.api_corer   operation_lib	tqdm.autoautorC   r   r   r   	Operationr   r%   r1   r   r   <module>rh      s]    #   / 4 1 6  #  (, < +/ .H# 7 7 H#d Qr   