epub-generator 0.1.0__py3-none-any.whl → 0.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- epub_generator/data/part.xhtml.jinja +0 -1
- epub_generator/generation/gen_epub.py +12 -1
- epub_generator/i18n.py +0 -2
- {epub_generator-0.1.0.dist-info → epub_generator-0.1.1.dist-info}/METADATA +2 -3
- {epub_generator-0.1.0.dist-info → epub_generator-0.1.1.dist-info}/RECORD +7 -7
- {epub_generator-0.1.0.dist-info → epub_generator-0.1.1.dist-info}/WHEEL +1 -1
- {epub_generator-0.1.0.dist-info/licenses → epub_generator-0.1.1.dist-info}/LICENSE +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from datetime import datetime, timezone
|
|
2
2
|
from os import PathLike
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import Literal
|
|
4
|
+
from typing import Callable, Literal
|
|
5
5
|
from uuid import uuid4
|
|
6
6
|
from zipfile import ZipFile
|
|
7
7
|
|
|
@@ -20,6 +20,7 @@ def generate_epub(
|
|
|
20
20
|
lan: Literal["zh", "en"] = "zh",
|
|
21
21
|
table_render: TableRender = TableRender.HTML,
|
|
22
22
|
latex_render: LaTeXRender = LaTeXRender.MATHML,
|
|
23
|
+
assert_not_aborted: Callable[[], None] = lambda: None,
|
|
23
24
|
) -> None:
|
|
24
25
|
i18n = I18N(lan)
|
|
25
26
|
template = Template()
|
|
@@ -42,12 +43,15 @@ def generate_epub(
|
|
|
42
43
|
zinfo_or_arcname="mimetype",
|
|
43
44
|
data=template.render("mimetype").encode("utf-8"),
|
|
44
45
|
)
|
|
46
|
+
assert_not_aborted()
|
|
47
|
+
|
|
45
48
|
_write_chapters_from_data(
|
|
46
49
|
context=context,
|
|
47
50
|
i18n=i18n,
|
|
48
51
|
nav_points=nav_points,
|
|
49
52
|
epub_data=epub_data,
|
|
50
53
|
latex_render=latex_render,
|
|
54
|
+
assert_not_aborted=assert_not_aborted,
|
|
51
55
|
)
|
|
52
56
|
nav_xhtml = gen_nav(
|
|
53
57
|
template=template,
|
|
@@ -60,12 +64,16 @@ def generate_epub(
|
|
|
60
64
|
zinfo_or_arcname="OEBPS/nav.xhtml",
|
|
61
65
|
data=nav_xhtml.encode("utf-8"),
|
|
62
66
|
)
|
|
67
|
+
assert_not_aborted()
|
|
68
|
+
|
|
63
69
|
_write_basic_files(
|
|
64
70
|
context=context,
|
|
65
71
|
i18n=i18n,
|
|
66
72
|
epub_data=epub_data,
|
|
67
73
|
nav_points=nav_points,
|
|
68
74
|
)
|
|
75
|
+
assert_not_aborted()
|
|
76
|
+
|
|
69
77
|
_write_assets_from_data(
|
|
70
78
|
context=context,
|
|
71
79
|
i18n=i18n,
|
|
@@ -101,6 +109,7 @@ def _write_chapters_from_data(
|
|
|
101
109
|
nav_points: list[NavPoint],
|
|
102
110
|
epub_data: EpubData,
|
|
103
111
|
latex_render: LaTeXRender,
|
|
112
|
+
assert_not_aborted: Callable[[], None],
|
|
104
113
|
):
|
|
105
114
|
if epub_data.get_head is not None:
|
|
106
115
|
chapter = epub_data.get_head()
|
|
@@ -111,6 +120,7 @@ def _write_chapters_from_data(
|
|
|
111
120
|
)
|
|
112
121
|
if latex_render == LaTeXRender.MATHML and _chapter_has_formula(chapter):
|
|
113
122
|
context.mark_chapter_has_mathml("head.xhtml")
|
|
123
|
+
assert_not_aborted()
|
|
114
124
|
|
|
115
125
|
for nav_point in nav_points:
|
|
116
126
|
if nav_point.get_chapter is not None:
|
|
@@ -122,6 +132,7 @@ def _write_chapters_from_data(
|
|
|
122
132
|
)
|
|
123
133
|
if latex_render == LaTeXRender.MATHML and _chapter_has_formula(chapter):
|
|
124
134
|
context.mark_chapter_has_mathml(nav_point.file_name)
|
|
135
|
+
assert_not_aborted()
|
|
125
136
|
|
|
126
137
|
|
|
127
138
|
def _chapter_has_formula(chapter) -> bool:
|
epub_generator/i18n.py
CHANGED
|
@@ -6,14 +6,12 @@ class I18N:
|
|
|
6
6
|
if lan == "zh":
|
|
7
7
|
self.unnamed: str = "未命名"
|
|
8
8
|
self.cover: str = "封面"
|
|
9
|
-
self.references: str = "引用"
|
|
10
9
|
self.table_of_contents: str = "目录"
|
|
11
10
|
self.landmarks: str = "路标"
|
|
12
11
|
self.start_of_content: str = "正文开始"
|
|
13
12
|
elif lan == "en":
|
|
14
13
|
self.unnamed: str = "Unnamed"
|
|
15
14
|
self.cover: str = "Cover"
|
|
16
|
-
self.references: str = "References"
|
|
17
15
|
self.table_of_contents: str = "Table of Contents"
|
|
18
16
|
self.landmarks: str = "Landmarks"
|
|
19
17
|
self.start_of_content: str = "Start of Content"
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: epub-generator
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.1
|
|
4
4
|
Summary: A simple Python EPUB 3.0 generator with a single API call
|
|
5
5
|
License: MIT
|
|
6
|
-
License-File: LICENSE
|
|
7
6
|
Keywords: epub,epub3,ebook,generator,publishing
|
|
8
7
|
Author: Tao Zeyu
|
|
9
8
|
Author-email: i@taozeyu.com
|
|
@@ -5,20 +5,20 @@ epub_generator/data/content.opf.jinja,sha256=DDaR9GZnSBcpNk2BWUu56Uo_248TA91AxE4
|
|
|
5
5
|
epub_generator/data/cover.xhtml.jinja,sha256=heounlnHfOd-RNFIeytZQtAQ11ByPOiM1aB1lVyY6V4,328
|
|
6
6
|
epub_generator/data/mimetype.jinja,sha256=5GjjUNEUPrZI9gx7C9YDEQHsBUSjYcp07O8laskB9Is,20
|
|
7
7
|
epub_generator/data/nav.xhtml.jinja,sha256=FGunTu_cDJmSBxV8cfaIDjHVUNsyjogWg1jL4VK8ihU,1132
|
|
8
|
-
epub_generator/data/part.xhtml.jinja,sha256=
|
|
8
|
+
epub_generator/data/part.xhtml.jinja,sha256=FEQaUjHfCy7EJyyvYZj-6T-lkDcsmz1wvsk0b8LU3E0,558
|
|
9
9
|
epub_generator/data/style.css.jinja,sha256=j4jAC3dtCviEilFMy0JolqAOVoFb6GfPJnoGxzyuNIs,882
|
|
10
10
|
epub_generator/generation/__init__.py,sha256=UIscwHa8ocr2D1mk1KaP-zi3P1x9eYJzxTo0RJ2dnks,35
|
|
11
11
|
epub_generator/generation/gen_asset.py,sha256=8kF4XYkUF3KKEjvsNNEITFSJ14EZ5SVQa2l2kKu_2RE,4140
|
|
12
12
|
epub_generator/generation/gen_chapter.py,sha256=rygRgCzfGkWvHgdEuhyb5sWHMFKLJ_k1odxKTdjKosk,4430
|
|
13
|
-
epub_generator/generation/gen_epub.py,sha256=
|
|
13
|
+
epub_generator/generation/gen_epub.py,sha256=gxr9AAfx2q6xApOBo15yFmluvWwP3OoEm67EjiSXa_4,5721
|
|
14
14
|
epub_generator/generation/gen_nav.py,sha256=D-ZNsbm26AEAovbXtx1wSwTfH4Q8H2WYfoYeQ1Sb9bk,2813
|
|
15
15
|
epub_generator/generation/gen_toc.py,sha256=yt7GYu8Rfz9aw_GPZFUl9H3BKd1za1hSm2hhp8wyI68,2488
|
|
16
16
|
epub_generator/generation/xml_utils.py,sha256=oh_PpjON1Rmu5duFJ9PsIKXRO-pt5as0tw72ujzgX18,698
|
|
17
|
-
epub_generator/i18n.py,sha256=
|
|
17
|
+
epub_generator/i18n.py,sha256=GQjpHO7t8_0rXNuoYmO-G7_9nCF7S5kluBG0ip_2jIA,622
|
|
18
18
|
epub_generator/options.py,sha256=Er1dnaNvzDSnZRSRJGSqhkJsv1XtsCW2Ym_hUc8o_QI,181
|
|
19
19
|
epub_generator/template.py,sha256=RdN2QRICIrYMzpxCU_x4m4V9WWZEP9VvT6QLp2YCm90,1556
|
|
20
20
|
epub_generator/types.py,sha256=D9eHyFZQeYM9b9f2u4WJqPLVgqRgkLeAYoAOtkAcs0I,3560
|
|
21
|
-
epub_generator-0.1.
|
|
22
|
-
epub_generator-0.1.
|
|
23
|
-
epub_generator-0.1.
|
|
24
|
-
epub_generator-0.1.
|
|
21
|
+
epub_generator-0.1.1.dist-info/LICENSE,sha256=9Zt_a4mrzkvR2rc0UbqTgbboIjWuumDFgeQyKos0H2E,1066
|
|
22
|
+
epub_generator-0.1.1.dist-info/METADATA,sha256=_uBaKyuKwQEnNksLzjcDsM0eVZetil7oezY1nVAgwp4,13801
|
|
23
|
+
epub_generator-0.1.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
24
|
+
epub_generator-0.1.1.dist-info/RECORD,,
|
|
File without changes
|