github-actions[bot]
Auto-sync from demo at Mon Oct 20 09:04:45 UTC 2025
e4316f1
raw
history blame
755 Bytes
from graphgen.models import CSVReader, JSONLReader, JSONReader, PDFReader, TXTReader
_MAPPING = {
"jsonl": JSONLReader,
"json": JSONReader,
"txt": TXTReader,
"csv": CSVReader,
"pdf": PDFReader,
}
def read_files(file_path: str, cache_dir: str | None = None) -> list[dict]:
suffix = file_path.split(".")[-1].lower()
if suffix == "pdf":
if cache_dir is not None:
reader = _MAPPING[suffix](output_dir=cache_dir)
else:
reader = _MAPPING[suffix]()
elif suffix in _MAPPING:
reader = _MAPPING[suffix]()
else:
raise ValueError(
f"Unsupported file format: {suffix}. Supported formats are: {list(_MAPPING.keys())}"
)
return reader.read(file_path)