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

1from pathlib import Path 

2from typing import Protocol 

3 

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 

10 

11 

12class BookProtocol(Protocol): 

13 resources: ResourceManager 

14 

15 @property 

16 def manifest(self) -> BookManifest: ... 

17 

18 @property 

19 def metadata(self) -> BookMetadata: ... 

20 

21 @property 

22 def spine(self) -> BookSpine: ... 

23 

24 @property 

25 def nav(self) -> NavigationDocument | None: ... 

26 

27 @property 

28 def ncx(self) -> NCXFile | None: ... 

29 

30 @property 

31 def base_dir(self) -> Path: ...