all2md.parsers.epub

EPUB parser that converts EPUB files to AST representation.

This module provides the EpubToAstConverter class that parses EPUB files, extracts HTML content from chapters, and builds an AST representation.

class all2md.parsers.epub.EpubToAstConverter

Bases: BaseParser

Convert EPUB files to AST representation.

This parser extracts content from EPUB files, processes each chapter’s HTML content, and builds a unified AST document.

Parameters:

options (EpubOptions or None) – EPUB conversion options

Initialize the EPUB parser with options and progress callback.

__init__(options: EpubOptions | None = None, progress_callback: Callable[[ProgressEvent], None] | None = None)

Initialize the EPUB parser with options and progress callback.

parse(input_data: str | Path | IO[bytes] | bytes) Document

Parse EPUB file into an AST Document.

Parameters:

input_data (str, Path, IO[bytes], or bytes) – The input EPUB file to parse

Returns:

AST Document node representing the parsed EPUB structure

Return type:

Document

Raises:

ParsingError – If parsing fails due to invalid EPUB format

convert_to_ast(book: Any) Document

Convert EPUB book to AST Document.

Parameters:

book (ebooklib.epub.EpubBook) – EPUB book object

Returns:

AST document node

Return type:

Document

extract_metadata(document: Any) DocumentMetadata

Extract metadata from EPUB book.

Parameters:

document (ebooklib.epub.EpubBook) – EPUB book object

Returns:

Extracted metadata

Return type:

DocumentMetadata