o
    Qh                     @   s<   d dl Z d dlmZmZmZ d dlmZ G dd deZdS )    N)ListDictAny)MCPBasec                   @   sD   e Zd Zdd Zddee dee dedeeeef  fdd	Z	d
S )GoogleCoursesMCPc                 C   s   d| _ d| _d S )NYOUR_GOOGLE_API_KEYz*https://www.googleapis.com/customsearch/v1)api_keybase_url)self r   B/var/www/eduai.edurigo.com/my_career/testing/google_courses_mcp.py__init__   s   
zGoogleCoursesMCP.__init__
   user_skills
skill_gapsmax_resultsreturnc           
   
   C   s   dd |dd D }dd | d}| j }|| jd|d	}ztj||d
}|jdkr6| dg W S g W S  tyU }	 ztdt	|	  g W  Y d}	~	S d}	~	ww )z3Fetch courses from Google API with targeted search.c                 S   s   g | ]}|d    qS )
skill_name)lower).0gapr   r   r   
<listcomp>   s    z2GoogleCoursesMCP.fetch_courses.<locals>.<listcomp>N   zmanagement  z course tutorial trainingYOUR_CUSTOM_SEARCH_ENGINE_ID)qkeycxnum)params   itemszError fetching Google courses: )
joinr	   r   requestsgetstatus_codejson	Exceptionprintstr)
r
   r   r   r   query_termsqueryendpointr   responseer   r   r   fetch_courses
   s$   
zGoogleCoursesMCP.fetch_coursesN)r   )
__name__
__module____qualname__r   r   r   intr)   r   r/   r   r   r   r   r      s    4r   )r#   typingr   r   r   mcp_baser   r   r   r   r   r   <module>   s    