Coverage for src/epublib/types.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-06 15:17 -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 ContentDocumentManager, ResourceManager 

10 

11 

12class BookProtocol(Protocol): 

13 @property 

14 def resources(self) -> ResourceManager: ... 

15 

16 @property 

17 def documents(self) -> ContentDocumentManager: ... 

18 

19 @property 

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

21 

22 @property 

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

24 

25 @property 

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

27 

28 @property 

29 def nav(self) -> NavigationDocument: ... 

30 

31 @property 

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

33 

34 @property 

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