o
    €j6h%  ã                   @  sf   d Z ddlmZ ddlZddlmZ ddlmZ ddlmZ G dd„ dej	ƒZ
ddd„Zddd„ZdS )z2Utilities for exporting outputs from LLMFunctions.é    )ÚannotationsN)Úparsed_args_lib)Úpy_utils)Úllmfn_outputsc                   @  s$   e Zd ZdZddd„Zdd
d„ZdS )Ú_PyVarOutputsSinkz.Sink that writes results to a Python variable.Úvar_nameÚstrc                 C  s
   || _ d S ©N)Ú	_var_name)Úselfr   © r   úx/var/www/html/chefvision.cloud.itp360.com/venv/lib/python3.10/site-packages/google/generativeai/notebook/output_utils.pyÚ__init__   s   
z_PyVarOutputsSink.__init__Úoutputsúllmfn_outputs.LLMFnOutputsBaseÚreturnÚNonec                 C  s   t  | jt |¡¡ d S r	   )r   Ú
set_py_varr
   ÚcopyÚdeepcopy)r   r   r   r   r   Úwrite_outputs   s   z_PyVarOutputsSink.write_outputsN)r   r   )r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r      s    
r   r   r   r   úllmfn_outputs.LLMFnOutputsSinkc                 C  s,   t  | ¡rt  | ¡}t|tjƒr|S t| ƒS r	   )r   Ú
has_py_varÚ
get_py_varÚ
isinstancer   ÚLLMFnOutputsSinkr   )r   Údatar   r   r   Úget_outputs_sink_from_py_var$   s
   

r!   Úresultsúllmfn_outputs.LLMFnOutputsÚparsed_argsúparsed_args_lib.ParsedArgsr   c                 C  s0   |j D ]}|  |¡ q|jD ]}|  |¡ qdS )z˜Writes `results` to the sinks provided.

    Args:
      results: The results to export.
      parsed_args: Arguments parsed from the command line.
    N)r   ÚexportÚsheets_output_names)r"   r$   Úsinkr   r   r   Úwrite_to_outputs0   s
   


ÿr)   )r   r   r   r   )r"   r#   r$   r%   r   r   )r   Ú
__future__r   r   Úgoogle.generativeai.notebookr   r   Ú google.generativeai.notebook.libr   r   r   r!   r)   r   r   r   r   Ú<module>   s   
