Skip to main content
Glama
grabba_service.cpython-312.pyc5.34 kB
� Ch� ��T�ddlmZmZmZddlmZmZmZmZm Z m Z m Z m Z Gd�d�Z y)�)�List�Dict�Optional)�Grabba�Job� JobResult�GetJobResponse�GetJobsResponse�JobExecutionStatus�GetJobResultResponse�JobExecutionResponsec���eZdZdefd�Zdedeeeeffd�Z dedeeeeffd�Z deeee effd�Z dedeeeeffd �Z dedeed ffd �Zd edeeeeffd �Zd edeed ffd�Zy )� GrabbaService�api_keyc�$�t|�|_y)N)r�grabba)�selfrs �M/home/obaa/Documents/projects/grabba/v2/apps/mcp/grabba_mcp/grabba_service.py�__init__zGrabbaService.__init__ s ���W�o�� ��extraction_data�returnc��.K� |jj|��}|jtjk(r|j }|j |fS|j |j fS#t$r}dt|���dfcYd}~Sd}~wwxYw�w)z"Schedule a new data extraction job)�job�Error scheduling job: N) r�extract�statusr �SUCCESS� job_result�message� Exception�str)rr�resultr�errs r� extract_datazGrabbaService.extract_data s����� =�+/�;�;�+>�+>�?�+>�+S�F��}�}� 2� :� :�:�(.�(9�(9� ��~�~�z�1�1��>�>�6�#4�#4�4� 4��� =�+�C��H�:�6��<� <�� =�sA�B�AA/�B�A/�.B�/ B�8B �B�B� B�B�job_idc���K� |jj|��}|j|jfS#t$r}dt |���dfcYd}~Sd}~wwxYw�w)z+Schedule an existing job to run immediately)r&rN)r� schedule_jobr rr!r"�rr&r#r$s rr(zGrabbaService.schedule_jobs\���� =�+/�;�;�+C�+C�6�+C�+R�F��>�>�6�#4�#4�4� 4��� =�+�C��H�:�6��<� <�� =�s1�A�38�A� A�A�A�A�A�Ac��K� |jj�}|j|jfS#t$r}dt |���dfcYd}~Sd}~wwxYw�w)z#Fetch all jobs for the current userzError fetching jobs: N)r�get_jobsr �jobsr!r")rr#r$s r�fetch_jobs_datazGrabbaService.fetch_jobs_datasU���� <�&*�k�k�&:�&:�&<�F��>�>�6�;�;�.� .��� <�*�3�s�8�*�5�t�;� ;�� <�s0�A�16�A� A�A�A�A�A�Ac��K� |jj|�}|j|jfS#t$r}dt |���dfcYd}~Sd}~wwxYw�w)zFetch details of a specific jobzError fetching job: N)r�get_jobr rr!r"r)s r�fetch_job_datazGrabbaService.fetch_job_data'sW���� ;�%)�[�[�%8�%8��%@�F��>�>�6�:�:�-� -��� ;�)�#�c�(��4�d�:� :�� ;��1�A�27�A� A�A�A�A�A�ANc��K� |jj|�d|��dfS#t$r}dt|���dfcYd}~Sd}~wwxYw�w)zDelete a specific jobzSuccessfully deleted job NzError deleting job: )r� delete_jobr!r")rr&r$s r�delete_job_datazGrabbaService.delete_job_data/sT���� ;� �K�K� "� "�6� *�.�v�h�7��=� =��� ;�)�#�c�(��4�d�:� :�� ;��.�A �!&�A � A �A�A �A �A � A � job_result_idc��K� |jj|�}|j|jfS#t$r}dt |���dfcYd}~Sd}~wwxYw�w)z Fetch results of a completed jobzError fetching job results: N)r�get_job_resultr rr!r")rr6r#r$s r�fetch_job_result_dataz#GrabbaService.fetch_job_result_data7s\���� C�+/�;�;�+E�+E�m�+T�F��>�>�6�#4�#4�4� 4��� C�1�#�c�(��<�d�B� B�� C�r1c��K� |jj|�d|��dfS#t$r}dt|���dfcYd}~Sd}~wwxYw�w)z!Delete results of a completed jobz Successfully deleted job result NzError deleting job results: )r�delete_job_resultr!r")rr6r$s r�delete_job_result_dataz$GrabbaService.delete_job_result_data?sW���� C� �K�K� )� )�-� 8�5�m�_�E�t�K� K��� C�1�#�c�(��<�d�B� B�� C�r5)�__name__� __module__� __qualname__r"rr�tuplerrr%r(rr-r0r4r9r<�rrrrs���&��&� =�#� =�%��X�d�^�@S�:T� =�=��=��s�H�T�N�7J�1K�=�<�u�S�(�4��9�2E�-E�'F�<�;�3�;�5��h�s�m�9K�3L�;�;�C�;�E�#�t�)�4D�;�C��C��s�H�UY�N�GZ�A[�C�C�#�C�%��T� �BR�CrrN)�typingrrrrrrrr r r r r rrArr�<module>rCs&��'�'���� =C�=Cr

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/grabba-dev/grabba-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server