Ë
    µŒj  ã                   óv   — d dl Z d dlmZmZ d dlZd dlmZ d dlmZ  e j                  e
«      Z G d„ de«      Zy)é    N)ÚAnyÚList)ÚDocument)Ú
BaseLoaderc                   ó`   — e Zd ZdZ	 ddedee   defd„Zdedefd„Zd	ede	fd
„Z
dee   fd„Zy)ÚDiffbotLoaderzLoad `Diffbot` json file.Ú	api_tokenÚurlsÚcontinue_on_failurec                 ó.   — || _         || _        || _        y)a	  Initialize with API token, ids, and key.

        Args:
            api_token: Diffbot API token.
            urls: List of URLs to load.
            continue_on_failure: Whether to continue loading other URLs if one fails.
               Defaults to True.
        N)r	   r
   r   )Úselfr	   r
   r   s       úv/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/langchain_community/document_loaders/diffbot.pyÚ__init__zDiffbotLoader.__init__   s   € ð #ˆŒØˆŒ	Ø#6ˆÕ ó    Údiffbot_apiÚreturnc                 ó   — d|› �S )Nzhttps://api.diffbot.com/v3/© )r   r   s     r   Ú_diffbot_api_urlzDiffbotLoader._diffbot_api_url   s   € Ø,¨[¨MÐ:Ð:r   Úurlc                 ó®   — | j                  d«      }| j                  |dœ}t        j                  ||d¬«      }|j                  r|j                  «       S i S )z'Get Diffbot file from Diffbot REST API.Úarticle)Útokenr   é
   )ÚparamsÚtimeout)r   r	   ÚrequestsÚgetÚokÚjson)r   r   Údiffbot_urlr   Úresponses        r   Ú_get_diffbot_datazDiffbotLoader._get_diffbot_data!   sR   € ð ×+Ñ+¨IÓ6ˆà—^‘^Øñ
ˆô —<‘< °FÀBÔGˆð #+§+¢+ˆx�}‰}‹Ð5°2Ð5r   c                 óB  — t        «       }| j                  D ]E  }	 | j                  |«      }d|v r|d   d   d   nd}d|i}|j                  t	        ||¬«      «       ŒG |S # t
        $ r4}| j                  rt        j                  d|› d|› �«       n|‚Y d	}~Œ‚d	}~ww xY w)
z>Extract text from Diffbot on all the URLs and return DocumentsÚobjectsr   ÚtextÚ Úsource)Úpage_contentÚmetadatazError fetching or processing z, exception: N)	Úlistr
   r#   Úappendr   Ú	Exceptionr   ÚloggerÚerror)r   Údocsr   Údatar&   r*   Úes          r   ÚloadzDiffbotLoader.load.   s­   € ä#›vˆà—9”9ˆCð	Ø×-Ñ-¨cÓ2�Ø5>À$Ñ5F�t˜I‘ qÑ)¨&Ò1ÈB�Ø$ c˜?�Ø—‘œH°$ÀÔJÕKð ð ˆøô ò Ø×+Ò+Ü—L‘LÐ#@ÀÀÀ]ÐSTÐRUÐ!VÕWà�Gô Xûðús   ›AA!Á!	BÁ**BÂBN)T)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   Úboolr   r   r   r#   r   r3   r   r   r   r   r      sc   „ Ù#ð LPñ7Øð7Ø$(¨¡Ið7ØDHó7ð;¨Cð ;°Có ;ð6 Sð 6¨Só 6ð�d˜8‘nô r   r   )ÚloggingÚtypingr   r   r   Úlangchain_core.documentsr   Ú)langchain_community.document_loaders.baser   Ú	getLoggerr4   r.   r   r   r   r   Ú<module>r?      s2   ðÛ ß ã Ý -å @à	ˆ×	Ñ	˜8Ó	$€ô1�Jõ 1r   