o
    qDe                     @   s*   d dl Z d dlZejejd dd ZdS )    N)levelc              
      s  zMt d|  dd}t|}W d    n1 sw   Y  t| d }td|  |d }td|  |d }g }t| d }t|| d	 }t|| d
 }	dd || d D t }
|D ]"}dd |d D   fdd D }|r|
|d |d f qjt }|D ]}|d }||vr||	vr|| q|
D ]\}}|	|dd| d qt
|}|dkrd| }|D ]}|	||dd q|D ]N}|d }||vr#||	vr#||
vr#d}d|v rd|d v r|d7 }d|v r
d|d v r
|d7 }d|v rd|d v r|d7 }|	||dd q|jdd d d! |rHt|d"d d#d$ }|D ]}|d$  |  < q<|d d% W S  tyk } ztd&|  g W  Y d }~S d }~ww )'Nztrained_models/model_z.pklrbr   z	User ID: courses_datazCourses Data: competency_dataassignedCoursescompletedCoursesc                 S      i | ]}|d  t |d qS skill_id
skill_typeint.0skill r   D/var/www/chatrigo.edurigo1.com/get_recommendations/recommendation.py
<dictcomp>       z'get_recommendations.<locals>.<dictcomp>skillsc                 S   r   r	   r   r   r   r   r   r      r   c                    s(   g | ]}  |d  |d kr|qS )r   )get)r   r
   course_skillsuser_skillsr   r   
<listcomp>   s   ( z'get_recommendations.<locals>.<listcomp>courseId   zBRecommended for upgrading existing user skills. Skill to improve: )r   scorereasonzGRecommended based on similar courses to assigned and completed courses.g      ?nameLaravelg?short_descriptiong?descriptionzIRecommended based on name, short description, and description similarity.c                 S      | d S Nr   r   xr   r   r   <lambda>>       z%get_recommendations.<locals>.<lambda>T)keyreversec                 S   r#   r$   r   r%   r   r   r   r'   A   r(   )r)   r   
   zError: )openpickleloadlistkeysloggingdebugsetaddappendlensortmax	Exceptionerror)	client_id	user_datafiletrained_modeluser_idr   r   recommendationsassigned_coursescompleted_coursessimilar_courses_based_on_skillscourseskills_to_improve+similar_courses_based_on_assigned_completed	course_idr
   num_similar_coursesscore_incrementr   	max_scorerecommendationer   r   r   get_recommendations   sz   

rM   )r-   r1   basicConfigDEBUGrM   r   r   r   r   <module>   s    