o
    3iD                     @   s   d dl mZ d dlmZ d dlmZ d dlZd dlmZ edddZ	e	j
ed	gd
d	gd	gd eddZe	ddd Ze	ddefddZedkrWeje	ddd dS dS )    )FastAPI)CORSMiddleware)ListN)
TranslatorzTranslation APIz1.0.0)titleversion*T)allow_originsallow_credentialsallow_methodsallow_headersz
gemma3:12b)modelz/healthc                      s
   ddiS )Nstatushealthy r   r   r   A/var/www/eduai.edurigo.com/language_translate_text/staging/app.pyhealth_check   s   r   z
/translaterequestc              
      s  z/|  d}|  dd}|  dg }|sdd||g dW S g }g }t|D ]S\}}t|trz| drC||d  |d|f | d	rV||d	  |d	|f | d
rzt|d
 D ]\}}	|	 dry||	d  |d||f qaq'|sdd||g dW S t||}
tdt|
 d|
  t|
t	rt
|
dkr|
\}}nt|
tr|
}dddd}n	tdt|
 dd l}||}|D ]}d|v rt|d |d< qt|D ]J\}^}}|t
|k r'|dkr|d }|| || d< q|d	kr|d }|| || d	< q|dkr'|d |d }}|| || d
 | d< qdd||||dW S  tyU } zdt||  d|  ddg dW  Y d }~S d }~ww )N	client_idtarget_languageHindislides_dataFzNo data provided)successmessager   r   r   namebackNameoptionsquestionOptionzNo valid sentences providedztranslate_array returned: z -    r   )input_tokensoutput_tokenstotal_tokensz-Unexpected return type from translate_array: 	contentId   Tz"Translation completed successfully)r   r   r   r   r   token_usage)get	enumerate
isinstancedictappend
translatortranslate_arrayprinttypetuplelenlist	Exceptioncopydeepcopystr)r   r   r   r   	sentencessentence_mappingiitemjoptionresult
translatedr$   r2   result_slides_datatranslation_idx
field_typeindicesitem_idx
option_idxer   r   r   	translate   s   
	









	
rD   __main__z0.0.0.0i@  )hostport)fastapir   fastapi.middleware.corsr   typingr   uvicornhindi_translatorr   appadd_middlewarer*   r%   r   postr(   rD   __name__runr   r   r   r   <module>   s*    

g