AmmarFahmy
adding all files
105b369
from pathlib import Path
from typing import List
from phi.document.base import Document
from phi.document.reader.base import Reader
from phi.utils.log import logger
class TextReader(Reader):
"""Reader for Text files"""
def read(self, path: Path) -> List[Document]:
if not path:
raise ValueError("No path provided")
if not path.exists():
raise FileNotFoundError(f"Could not find file: {path}")
try:
logger.info(f"Reading: {path}")
file_name = path.name.split("/")[-1].split(".")[0].replace("/", "_").replace(" ", "_")
file_contents = path.read_text()
documents = [
Document(
name=file_name,
id=file_name,
content=file_contents,
)
]
if self.chunk:
chunked_documents = []
for document in documents:
chunked_documents.extend(self.chunk_document(document))
return chunked_documents
return documents
except Exception as e:
logger.error(f"Error reading: {path}: {e}")
return []