
    3fi@	                     l    d Z ddlmZmZ ddlmZ ddlmZmZ ddl	m
Z
  G d de      Z G d d	e
      Zy
)z&Get a specific task from Google Tasks.    )OptionalType)CallbackManagerForToolRun)	BaseModelField)TasksBaseToolc                   N    e Zd ZU dZ edd      Zeed<    edd      Zeed	<   y
)GetTaskSchemaz Input schema for `TasksGetTask`..zThe ID of the task to retrieve.)descriptiontask_id@defaultzOThe task list ID containing the task. Use '@default' for the default task list.)defaultr   tasklistN)	__name__
__module____qualname____doc__r   r   str__annotations__r        g/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/langchain_google_community/tasks/get_task.pyr
   r
      s0    **KLGSL8Hc r   r
   c            	       f    e Zd ZU dZdZeed<   dZeed<   eZ	e
e   ed<   	 	 dded	ed
ee   defdZy)TasksGetTaskz6Tool that retrieves a specific task from Google Tasks.get_google_tasknamezpUse this tool to get detailed information about a specific task from Google Tasks. You must provide the task ID.r   args_schemaNr   r   run_managerreturnc                 D   	 | j                   j                         j                  ||      j                         }d}|d|j                  dd       dz  }|d|j                  dd	       dz  }|d
|j                  dd       dz  }|j                  d      r|d|d    dz  }|j                  d      r|d|d    dz  }|j                  d      r|d|d    dz  }|j                  d      r|d|d    dz  }|S # t        $ r}dt        |       cY d}~S d}~ww xY w)a/  Get a specific task from Google Tasks.

        Args:
            task_id: The ID of the task to retrieve.
            tasklist: The task list ID. Defaults to '@default'.
            run_manager: Optional callback manager.

        Returns:
            A formatted string with the task details.
        )r   taskzTask Details:
zID: idUnknown
zTitle: titlezNo titlezStatus: statusnoteszNotes: duezDue: updatedzLast Updated: 	completedzCompleted: z-An error occurred while retrieving the task: N)api_resourcetasksgetexecute	Exceptionr   )selfr   r   r   r!   responsees          r   _runzTasksGetTask._run%   sR    	L!!'')--xg-NVVX  )H$txxi89<<H'$((7J"?!@CCH(488Hi#@"ADDHxx gd7m_B77xxeDK=33xx	"nT)_,=R@@xx$k${*;)<B??O 	LB3q6(KK	Ls   C;C> >	DDDD)r   N)r   r   r   r   r   r   r   r   r
   r   r   r   r   r3   r   r   r   r   r      so    @!D#!	;  
 (5Km$4
 #;?	)L)L )L 78	)L
 
)Lr   r   N)r   typingr   r   langchain_core.callbacksr   pydanticr   r   %langchain_google_community.tasks.baser   r
   r   r   r   r   <module>r8      s.    , ! > % ?I 5L= 5Lr   