cognee/cognee/modules/ingestion/classify.py
Igor Ilic eb09e5ad89 refactor: Moved ingestion exceptions to ingestion module
Moved custom ingestion exceptions to ingestion module

Refactor COG-502
2024-11-29 17:15:54 +01:00

16 lines
634 B
Python

from io import BufferedReader
from typing import Union, BinaryIO
from .data_types import TextData, BinaryData
from tempfile import SpooledTemporaryFile
from cognee.modules.ingestion.exceptions import IngestionError
def classify(data: Union[str, BinaryIO], filename: str = None):
if isinstance(data, str):
return TextData(data)
if isinstance(data, BufferedReader) or isinstance(data, SpooledTemporaryFile):
return BinaryData(data, data.name.split("/")[-1] if data.name else filename)
raise IngestionError(message=f"Type of data sent to classify(data: Union[str, BinaryIO) not supported: {type(data)}")