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.
@@ -14,7 +14,6 @@
14
14
  {% endfor %}
15
15
  {% if citations %}
16
16
  <section epub:type="footnotes" role="doc-endnotes">
17
- <h2>{{ i18n.references }}</h2>
18
17
  {% for item in citations %}
19
18
  {{ item|safe }}
20
19
  {% endfor %}
@@ -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.4
1
+ Metadata-Version: 2.3
2
2
  Name: epub-generator
3
- Version: 0.1.0
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=XxyHPiUSNuYZ9TjQfrQayHGpoMj2GXKO0YAW_6CrGs4,593
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=xCpKyVn3XlEVzbKZY1O8Mt1iaBtgQbI0onYwveHXr4E,5405
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=52dcjX3TFDUfylMtKfsxPCYluCbVt6yMz8rDsSjIGxk,714
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.0.dist-info/METADATA,sha256=F4Bf8X9-2fhGQ_cVWydTgpMowZJQ2U-tvVYJ5vwliFw,13823
22
- epub_generator-0.1.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
23
- epub_generator-0.1.0.dist-info/licenses/LICENSE,sha256=9Zt_a4mrzkvR2rc0UbqTgbboIjWuumDFgeQyKos0H2E,1066
24
- epub_generator-0.1.0.dist-info/RECORD,,
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,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.2.1
2
+ Generator: poetry-core 2.1.3
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any