From cf7776462efd887fbaf7ed07c483e98b2ec868ca Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Wed, 26 Jun 2024 16:51:25 -0300 Subject: [PATCH] chore: Import firecrawl integration package in FirecrawlCrawlApi and FirecrawlScrapeApi This commit imports the firecrawl integration package in the FirecrawlCrawlApi and FirecrawlScrapeApi files. It ensures that the package is available for use in the code. If the package is not installed, an ImportError is raised with instructions to install it using `pip install firecrawl-py`. --- .../langchain_utilities/FirecrawlCrawlApi.py | 13 ++++++++++--- .../langchain_utilities/FirecrawlScrapeApi.py | 8 +++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/backend/base/langflow/components/langchain_utilities/FirecrawlCrawlApi.py b/src/backend/base/langflow/components/langchain_utilities/FirecrawlCrawlApi.py index 7c202b3fa..ea5a3918e 100644 --- a/src/backend/base/langflow/components/langchain_utilities/FirecrawlCrawlApi.py +++ b/src/backend/base/langflow/components/langchain_utilities/FirecrawlCrawlApi.py @@ -1,8 +1,8 @@ +import uuid from typing import Optional -from firecrawl.firecrawl import FirecrawlApp + from langflow.custom import CustomComponent from langflow.schema import Data -import uuid class FirecrawlCrawlApi(CustomComponent): @@ -48,11 +48,18 @@ class FirecrawlCrawlApi(CustomComponent): self, api_key: str, url: str, - timeout: Optional[int] = 30000, + timeout: int = 30000, crawlerOptions: Optional[Data] = None, pageOptions: Optional[Data] = None, idempotency_key: Optional[str] = None, ) -> Data: + try: + from firecrawl.firecrawl import FirecrawlApp # type: ignore + except ImportError: + raise ImportError( + "Could not import firecrawl integration package. " "Please install it with `pip install firecrawl-py`." + ) + if crawlerOptions: crawler_options_dict = crawlerOptions.__dict__["data"]["text"] else: diff --git a/src/backend/base/langflow/components/langchain_utilities/FirecrawlScrapeApi.py b/src/backend/base/langflow/components/langchain_utilities/FirecrawlScrapeApi.py index a1215ce51..a2bc6829b 100644 --- a/src/backend/base/langflow/components/langchain_utilities/FirecrawlScrapeApi.py +++ b/src/backend/base/langflow/components/langchain_utilities/FirecrawlScrapeApi.py @@ -1,5 +1,5 @@ from typing import Optional -from firecrawl.firecrawl import FirecrawlApp + from langflow.custom import CustomComponent from langflow.schema import Data @@ -47,6 +47,12 @@ class FirecrawlScrapeApi(CustomComponent): pageOptions: Optional[Data] = None, extractorOptions: Optional[Data] = None, ) -> Data: + try: + from firecrawl.firecrawl import FirecrawlApp # type: ignore + except ImportError: + raise ImportError( + "Could not import firecrawl integration package. " "Please install it with `pip install firecrawl-py`." + ) if extractorOptions: extractor_options_dict = extractorOptions.__dict__["data"]["text"] else: