From 748e9fad86d924edb9d78d00f22242c9d936b9d5 Mon Sep 17 00:00:00 2001 From: hajdul88 <52442977+hajdul88@users.noreply.github.com> Date: Wed, 13 Aug 2025 16:17:58 +0200 Subject: [PATCH] feat: adds s3 file system not found error to ingestion --- cognee/tasks/ingestion/exceptions/__init__.py | 10 ++++++++++ cognee/tasks/ingestion/exceptions/exceptions.py | 12 ++++++++++++ cognee/tasks/ingestion/resolve_data_directories.py | 5 +++++ 3 files changed, 27 insertions(+) create mode 100644 cognee/tasks/ingestion/exceptions/__init__.py create mode 100644 cognee/tasks/ingestion/exceptions/exceptions.py diff --git a/cognee/tasks/ingestion/exceptions/__init__.py b/cognee/tasks/ingestion/exceptions/__init__.py new file mode 100644 index 000000000..5c0a0b02f --- /dev/null +++ b/cognee/tasks/ingestion/exceptions/__init__.py @@ -0,0 +1,10 @@ +""" +Custom exceptions for the Cognee API. + +This module defines a set of exceptions for handling various application errors, +such as System, Validation, Configuration or TransientErrors +""" + +from .exceptions import ( + S3FileSystemNotFoundError +) diff --git a/cognee/tasks/ingestion/exceptions/exceptions.py b/cognee/tasks/ingestion/exceptions/exceptions.py new file mode 100644 index 000000000..9d07b9ab3 --- /dev/null +++ b/cognee/tasks/ingestion/exceptions/exceptions.py @@ -0,0 +1,12 @@ +from cognee.exceptions import CogneeSystemError +from fastapi import status + + +class S3FileSystemNotFoundError(CogneeSystemError): + def __init__( + self, + name: str = "S3FileSystemNotFoundError", + status_code: int = status.HTTP_500_INTERNAL_SERVER_ERROR, + ): + message = "Could not find S3FileSystem." + super().__init__(message, name, status_code) diff --git a/cognee/tasks/ingestion/resolve_data_directories.py b/cognee/tasks/ingestion/resolve_data_directories.py index 0f2f2a85f..1d3124a0c 100644 --- a/cognee/tasks/ingestion/resolve_data_directories.py +++ b/cognee/tasks/ingestion/resolve_data_directories.py @@ -1,6 +1,9 @@ import os from urllib.parse import urlparse from typing import List, Union, BinaryIO + +from cognee.tasks.ingestion.exceptions import S3FileSystemNotFoundError +from cognee.exceptions import CogneeSystemError from cognee.infrastructure.files.storage.s3_config import get_s3_config @@ -54,6 +57,8 @@ async def resolve_data_directories( else: s3_files.append(key) resolved_data.extend(s3_files) + else: + raise S3FileSystemNotFoundError() elif os.path.isdir(item): # If it's a directory if include_subdirectories: