mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-03-19 21:57:39 +08:00
Closes #1398 ### What problem does this PR solve? Adds native support for EPUB files. EPUB content is extracted in spine (reading) order and parsed using the existing HTML parser. No new dependencies required. ### Type of change - [x] New Feature (non-breaking change which adds functionality) To check this parser manually: ```python uv run --python 3.12 python -c " from deepdoc.parser import EpubParser with open('$HOME/some_epub_book.epub', 'rb') as f: data = f.read() sections = EpubParser()(None, binary=data, chunk_token_num=512) print(f'Got {len(sections)} sections') for i, s in enumerate(sections[:5]): print(f'\n--- Section {i} ---') print(s[:200]) " ```
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
#
|
|
# Copyright 2025 The InfiniFlow Authors. All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
from .docx_parser import RAGFlowDocxParser as DocxParser
|
|
from .epub_parser import RAGFlowEpubParser as EpubParser
|
|
from .excel_parser import RAGFlowExcelParser as ExcelParser
|
|
from .html_parser import RAGFlowHtmlParser as HtmlParser
|
|
from .json_parser import RAGFlowJsonParser as JsonParser
|
|
from .markdown_parser import MarkdownElementExtractor
|
|
from .markdown_parser import RAGFlowMarkdownParser as MarkdownParser
|
|
from .pdf_parser import PlainParser
|
|
from .pdf_parser import RAGFlowPdfParser as PdfParser
|
|
from .ppt_parser import RAGFlowPptParser as PptParser
|
|
from .txt_parser import RAGFlowTxtParser as TxtParser
|
|
|
|
__all__ = [
|
|
"PdfParser",
|
|
"PlainParser",
|
|
"DocxParser",
|
|
"EpubParser",
|
|
"ExcelParser",
|
|
"PptParser",
|
|
"HtmlParser",
|
|
"JsonParser",
|
|
"MarkdownParser",
|
|
"TxtParser",
|
|
"MarkdownElementExtractor",
|
|
]
|