o
    aep                     @   s   d dl mZmZmZ d dlmZ d dlZd dlZd dlm	Z	m
Z
 d dlZd dlmZmZ d dlmZ e Zeddd	 ZG d
d deZ	 	 d dlmZ G dd deZG dd deZeddefddZdS )    )FastAPIHTTPExceptionRequest)	BaseModelN)ListDict)train_model
save_model)get_recommendationsz/execute-dummyc               
      sT   zt jddgddd} d| jiW S  ty) } zdt|iW  Y d }~S d }~ww )Npython3z@/var/www/chatrigo.edurigo1.com/get_recommendations/dummy_code.pyT)capture_outputtextoutputerror)
subprocessrunstdout	Exceptionstr)resulte r   :/var/www/chatrigo.edurigo1.com/get_recommendations/main.pyexecute_dummy   s   r   c                   @   s&   e Zd ZU eed< eed< eed< dS RecommendationRequestcourses_data	user_datacompetency_dataN)__name__
__module____qualname__dict__annotations__r   r   r   r   r         
 r   c                   @   s&   e Zd ZU eed< eed< eed< dS r   )r   r    r!   listr#   r"   r   r   r   r   r   C   r$   c                   @   s&   e Zd ZU eed< eed< eed< dS )RecommendationResponsecourseIdscorereasonN)r   r    r!   intr#   floatr   r   r   r   r   r&   I   r$   r&   z/recommendations/requestc           	   
      s   zN|   I d H }td| |dg }|di }|di }td||| t|||}td| g }|D ]}||d |d |d	 d
 q6td| |W S  tyh } ztd| tdt|dd }~ww )NzReceived request data:r   r   r   zExtracted data:zRecommendations:r'   r(   r)   )r'   r(   r)   z	Response:zError:i  )status_codedetail)jsonprintgetr
   appendr   r   r   )	r,   datar   r   r   recommendationsresponserecommendationr   r   r   r   get_recommendations_apiN   s0   




r7   )fastapir   r   r   pydanticr   r   r/   typingr   r   loggingmodel_trainerr   r	   r6   r
   appr1   r   r   recommendation_systemr&   postr7   r   r   r   r   <module>   s&    
#