Coverage for src/epublib/types.py: 100%
10 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-18 16:07 -0300
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-18 16:07 -0300
1from pathlib import Path
2from typing import Protocol
4from epublib.nav.resource import NavigationDocument
5from epublib.ncx.resource import NCXFile
6from epublib.package.manifest import BookManifest
7from epublib.package.metadata import BookMetadata
8from epublib.package.spine import BookSpine
9from epublib.resources.manager import ResourceManager
12class BookProtocol(Protocol):
13 resources: ResourceManager
15 @property
16 def manifest(self) -> BookManifest: ...
18 @property
19 def metadata(self) -> BookMetadata: ...
21 @property
22 def spine(self) -> BookSpine: ...
24 @property
25 def nav(self) -> NavigationDocument | None: ...
27 @property
28 def ncx(self) -> NCXFile | None: ...
30 @property
31 def base_dir(self) -> Path: ...