o
    i                     @   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/testing/app.pyhealth_check   s   r   z
/translaterequestc              
      s  zB|  d}|  dd}|  dg }|sdd||g dW S g }g }g }t|D ]b\}}t|tr| drJ||d  |d|f |d	 | d
rb||d
  |d
|f |d	 | drt|d D ]\}	}
|
 dr||
d  |d||	f |d	 qmq)|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 ]K\}^}}|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yh } 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   nameT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   z"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preserve_listiitemjoptionresult
translatedr$   r2   result_slides_datatranslation_idx
field_typeindicesitem_idx
option_idxer   r   r   	translate   s   
	













	
rE   __main__z0.0.0.0i@  )hostport)fastapir   fastapi.middleware.corsr   typingr   uvicornhindi_translatorr   appadd_middlewarer*   r%   r   postr(   rE   __name__runr   r   r   r   <module>   s*    

k