PERI-AI-dev / src /readers /__init__.py
LIANJie-Jason's picture
Claude Opus 4.6
Initial commit: RAG Research Chatbot Template
0017280
Raw History Blame Contribute Delete
1.05 kB
"""File reader registry. Maps extensions to reader functions."""
from src.readers.pdf import read_pdf
from src.readers.text import read_text
from src.readers.docx import read_docx
from src.readers.excel import read_excel
from src.readers.csv_tab import read_csv_tab
from src.readers.stata import read_stata
from src.readers.spss import read_spss
from src.readers.rdata import read_rdata
READERS = {
".pdf": read_pdf,
".docx": read_docx,
".xlsx": read_excel,
".xls": read_excel,
".csv": read_csv_tab,
".tab": read_csv_tab,
".tsv": read_csv_tab,
".dta": read_stata,
".sav": read_spss,
".rds": read_rdata,
".rda": read_rdata,
".txt": read_text,
".md": read_text,
".json": read_text,
".do": read_text,
}
def read_file(file_path: str) -> list[dict]:
from pathlib import Path
ext = Path(file_path).suffix.lower()
reader = READERS.get(ext)
if reader is None:
print(f" Unsupported file type: {ext}, skipping {file_path}")
return []
return reader(file_path)