txt2ebook 0.1.24__py3-none-any.whl → 0.1.26__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.
- CHANGELOG.md +29 -0
- CONTRIBUTING.md +7 -1
- txt2ebook/__init__.py +1 -1
- txt2ebook/formats/__init__.py +5 -0
- txt2ebook/formats/epub.py +7 -1
- txt2ebook/formats/templates/epub/condense.css +42 -0
- txt2ebook/formats/templates/epub/noindent.css +42 -0
- txt2ebook/locales/en/LC_MESSAGES/txt2ebook.po +6 -6
- txt2ebook/locales/txt2ebook.pot +6 -6
- txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.po +6 -6
- txt2ebook/parser.py +1 -2
- txt2ebook/txt2ebook.py +4 -6
- txt2ebook/zh_utils.py +13 -2
- {txt2ebook-0.1.24.dist-info → txt2ebook-0.1.26.dist-info}/METADATA +5 -5
- {txt2ebook-0.1.24.dist-info → txt2ebook-0.1.26.dist-info}/RECORD +18 -16
- {txt2ebook-0.1.24.dist-info → txt2ebook-0.1.26.dist-info}/LICENSE.md +0 -0
- {txt2ebook-0.1.24.dist-info → txt2ebook-0.1.26.dist-info}/WHEEL +0 -0
- {txt2ebook-0.1.24.dist-info → txt2ebook-0.1.26.dist-info}/entry_points.txt +0 -0
CHANGELOG.md
CHANGED
@@ -7,6 +7,35 @@ and this project adheres to [0-based versioning](https://0ver.org/).
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## v0.1.26 - 2023-03-12
|
11
|
+
|
12
|
+
### Changed
|
13
|
+
|
14
|
+
- Rename epub template names, `clean_no_indent` to `noindent`, and
|
15
|
+
`clean_no_paragraph_space` to `condense`
|
16
|
+
- Raise warnings for invalid prepend length for `zh_words_to_numbers` function
|
17
|
+
|
18
|
+
### Fixed
|
19
|
+
|
20
|
+
- Fix missing translations
|
21
|
+
- Fix missing EPUB template names not showing in help message
|
22
|
+
|
23
|
+
## v0.1.25 - 2023-03-05
|
24
|
+
|
25
|
+
### Added
|
26
|
+
|
27
|
+
- Add new EPUB templates, `clean_no_indent` and `clean_no_paragraph_space`
|
28
|
+
|
29
|
+
### Fixed
|
30
|
+
|
31
|
+
- Add missing `zh-*` character for `zh_numeric`
|
32
|
+
- Remove unused import
|
33
|
+
- Fix incorrect dep added to wrong environment
|
34
|
+
|
35
|
+
### Changed
|
36
|
+
|
37
|
+
- Refactor ebook extensions variable into package
|
38
|
+
|
10
39
|
## v0.1.24 - 2023-02-26
|
11
40
|
|
12
41
|
### Changed
|
CONTRIBUTING.md
CHANGED
@@ -53,11 +53,17 @@ tox -e py37,py38,py39,py310,py311 -- tests/test_tokenizer.py
|
|
53
53
|
For code lint, we're using `pre-commit`:
|
54
54
|
|
55
55
|
```bash
|
56
|
-
pre-commit install
|
56
|
+
pre-commit install # run once
|
57
57
|
pre-commit clean
|
58
58
|
pre-commit run --all-files
|
59
59
|
```
|
60
60
|
|
61
|
+
Or specific hook:
|
62
|
+
|
63
|
+
```bash
|
64
|
+
pre-commit run pylint -a
|
65
|
+
```
|
66
|
+
|
61
67
|
We're using zero-based versioning.
|
62
68
|
|
63
69
|
For patches or bug fixes:
|
txt2ebook/__init__.py
CHANGED
txt2ebook/formats/__init__.py
CHANGED
@@ -19,11 +19,14 @@ import argparse
|
|
19
19
|
from typing import Union
|
20
20
|
|
21
21
|
import txt2ebook.models.book
|
22
|
+
from txt2ebook.formats.epub import TEMPLATES as EPUB_TEMPLATES
|
22
23
|
from txt2ebook.formats.epub import EpubWriter
|
23
24
|
from txt2ebook.formats.txt import TxtWriter
|
24
25
|
from txt2ebook.helpers import load_class, to_classname
|
25
26
|
from txt2ebook.models import Book
|
26
27
|
|
28
|
+
EBOOK_FORMATS = ["epub", "txt"]
|
29
|
+
|
27
30
|
|
28
31
|
def create_format(
|
29
32
|
book: txt2ebook.models.book.Book,
|
@@ -49,6 +52,8 @@ def create_format(
|
|
49
52
|
|
50
53
|
__all__ = [
|
51
54
|
"Book",
|
55
|
+
"EBOOK_FORMATS",
|
56
|
+
"EPUB_TEMPLATES",
|
52
57
|
"EpubWriter",
|
53
58
|
"TxtWriter",
|
54
59
|
]
|
txt2ebook/formats/epub.py
CHANGED
@@ -19,7 +19,7 @@ import gettext
|
|
19
19
|
import io
|
20
20
|
import logging
|
21
21
|
import uuid
|
22
|
-
from importlib.resources import read_text
|
22
|
+
from importlib.resources import contents, read_text
|
23
23
|
from pathlib import Path
|
24
24
|
from typing import Optional, Union
|
25
25
|
|
@@ -32,6 +32,12 @@ logger = logging.getLogger(__name__)
|
|
32
32
|
|
33
33
|
SPACE = "\u0020"
|
34
34
|
|
35
|
+
TEMPLATES = [
|
36
|
+
Path(file).stem
|
37
|
+
for file in list(contents(template_epub))
|
38
|
+
if Path(file).suffix == ".css"
|
39
|
+
]
|
40
|
+
|
35
41
|
|
36
42
|
class EpubWriter:
|
37
43
|
"""Module for writing ebook in epub format."""
|
@@ -0,0 +1,42 @@
|
|
1
|
+
/* cover page */
|
2
|
+
div#cover {
|
3
|
+
text-align: center;
|
4
|
+
width: 100%;
|
5
|
+
}
|
6
|
+
|
7
|
+
/* navigation page - toc */
|
8
|
+
ol {
|
9
|
+
list-style-type: none;
|
10
|
+
padding-left: 0;
|
11
|
+
}
|
12
|
+
|
13
|
+
ol li {
|
14
|
+
padding-top: 0.2em;
|
15
|
+
}
|
16
|
+
|
17
|
+
ol li ol li:last-of-type {
|
18
|
+
padding-bottom: 1em;
|
19
|
+
}
|
20
|
+
|
21
|
+
ol li a {
|
22
|
+
text-decoration: none;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* chapters & section */
|
26
|
+
div.volume {
|
27
|
+
display: table;
|
28
|
+
width: 100%;
|
29
|
+
height: 100%;
|
30
|
+
}
|
31
|
+
|
32
|
+
h1.volume {
|
33
|
+
display: table-cell;
|
34
|
+
text-align: center;
|
35
|
+
vertical-align: middle;
|
36
|
+
}
|
37
|
+
|
38
|
+
h2 {
|
39
|
+
}
|
40
|
+
p {
|
41
|
+
margin: 0em;
|
42
|
+
}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
/* cover page */
|
2
|
+
div#cover {
|
3
|
+
text-align: center;
|
4
|
+
width: 100%;
|
5
|
+
}
|
6
|
+
|
7
|
+
/* navigation page - toc */
|
8
|
+
ol {
|
9
|
+
list-style-type: none;
|
10
|
+
padding-left: 0;
|
11
|
+
}
|
12
|
+
|
13
|
+
ol li {
|
14
|
+
padding-top: 0.2em;
|
15
|
+
}
|
16
|
+
|
17
|
+
ol li ol li:last-of-type {
|
18
|
+
padding-bottom: 1em;
|
19
|
+
}
|
20
|
+
|
21
|
+
ol li a {
|
22
|
+
text-decoration: none;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* chapters & section */
|
26
|
+
div.volume {
|
27
|
+
display: table;
|
28
|
+
width: 100%;
|
29
|
+
height: 100%;
|
30
|
+
}
|
31
|
+
|
32
|
+
h1.volume {
|
33
|
+
display: table-cell;
|
34
|
+
text-align: center;
|
35
|
+
vertical-align: middle;
|
36
|
+
}
|
37
|
+
|
38
|
+
h2 {
|
39
|
+
}
|
40
|
+
p {
|
41
|
+
text-indent: -2em;
|
42
|
+
}
|
@@ -5,7 +5,7 @@
|
|
5
5
|
msgid ""
|
6
6
|
msgstr ""
|
7
7
|
"Project-Id-Version: PACKAGE VERSION\n"
|
8
|
-
"POT-Creation-Date: 2023-
|
8
|
+
"POT-Creation-Date: 2023-03-06 04:02+0800\n"
|
9
9
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
10
10
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
11
11
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
@@ -15,22 +15,22 @@ msgstr ""
|
|
15
15
|
"Content-Transfer-Encoding: 8bit\n"
|
16
16
|
"Generated-By: pygettext.py 1.5\n"
|
17
17
|
|
18
|
-
#: src/txt2ebook/formats/epub.py:
|
18
|
+
#: src/txt2ebook/formats/epub.py:199
|
19
19
|
msgid "cover"
|
20
20
|
msgstr "Cover"
|
21
21
|
|
22
|
-
#: src/txt2ebook/formats/txt.py:
|
22
|
+
#: src/txt2ebook/formats/txt.py:84
|
23
23
|
msgid "metadata"
|
24
24
|
msgstr "metadata"
|
25
25
|
|
26
|
-
#: src/txt2ebook/formats/txt.py:
|
26
|
+
#: src/txt2ebook/formats/txt.py:154
|
27
27
|
msgid "title:"
|
28
28
|
msgstr "Title:"
|
29
29
|
|
30
|
-
#: src/txt2ebook/formats/txt.py:
|
30
|
+
#: src/txt2ebook/formats/txt.py:155
|
31
31
|
msgid "author:"
|
32
32
|
msgstr "Author:"
|
33
33
|
|
34
|
-
#: src/txt2ebook/formats/txt.py:
|
34
|
+
#: src/txt2ebook/formats/txt.py:156
|
35
35
|
msgid "tag:"
|
36
36
|
msgstr "Tag:"
|
txt2ebook/locales/txt2ebook.pot
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
msgid ""
|
6
6
|
msgstr ""
|
7
7
|
"Project-Id-Version: PACKAGE VERSION\n"
|
8
|
-
"POT-Creation-Date: 2023-
|
8
|
+
"POT-Creation-Date: 2023-03-06 04:02+0800\n"
|
9
9
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
10
10
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
11
11
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
@@ -15,23 +15,23 @@ msgstr ""
|
|
15
15
|
"Generated-By: pygettext.py 1.5\n"
|
16
16
|
|
17
17
|
|
18
|
-
#: src/txt2ebook/formats/epub.py:
|
18
|
+
#: src/txt2ebook/formats/epub.py:199
|
19
19
|
msgid "cover"
|
20
20
|
msgstr ""
|
21
21
|
|
22
|
-
#: src/txt2ebook/formats/txt.py:
|
22
|
+
#: src/txt2ebook/formats/txt.py:84
|
23
23
|
msgid "metadata"
|
24
24
|
msgstr ""
|
25
25
|
|
26
|
-
#: src/txt2ebook/formats/txt.py:
|
26
|
+
#: src/txt2ebook/formats/txt.py:154
|
27
27
|
msgid "title:"
|
28
28
|
msgstr ""
|
29
29
|
|
30
|
-
#: src/txt2ebook/formats/txt.py:
|
30
|
+
#: src/txt2ebook/formats/txt.py:155
|
31
31
|
msgid "author:"
|
32
32
|
msgstr ""
|
33
33
|
|
34
|
-
#: src/txt2ebook/formats/txt.py:
|
34
|
+
#: src/txt2ebook/formats/txt.py:156
|
35
35
|
msgid "tag:"
|
36
36
|
msgstr ""
|
37
37
|
|
@@ -5,7 +5,7 @@
|
|
5
5
|
msgid ""
|
6
6
|
msgstr ""
|
7
7
|
"Project-Id-Version: \n"
|
8
|
-
"POT-Creation-Date: 2023-
|
8
|
+
"POT-Creation-Date: 2023-03-06 04:02+0800\n"
|
9
9
|
"PO-Revision-Date: 2023-01-14 18:07+0800\n"
|
10
10
|
"Last-Translator: \n"
|
11
11
|
"Language-Team: \n"
|
@@ -16,22 +16,22 @@ msgstr ""
|
|
16
16
|
"Generated-By: pygettext.py 1.5\n"
|
17
17
|
"X-Generator: Poedit 3.1.1\n"
|
18
18
|
|
19
|
-
#: src/txt2ebook/formats/epub.py:
|
19
|
+
#: src/txt2ebook/formats/epub.py:199
|
20
20
|
msgid "cover"
|
21
21
|
msgstr "封面"
|
22
22
|
|
23
|
-
#: src/txt2ebook/formats/txt.py:
|
23
|
+
#: src/txt2ebook/formats/txt.py:84
|
24
24
|
msgid "metadata"
|
25
25
|
msgstr "元数据"
|
26
26
|
|
27
|
-
#: src/txt2ebook/formats/txt.py:
|
27
|
+
#: src/txt2ebook/formats/txt.py:154
|
28
28
|
msgid "title:"
|
29
29
|
msgstr "书名:"
|
30
30
|
|
31
|
-
#: src/txt2ebook/formats/txt.py:
|
31
|
+
#: src/txt2ebook/formats/txt.py:155
|
32
32
|
msgid "author:"
|
33
33
|
msgstr "作者:"
|
34
34
|
|
35
|
-
#: src/txt2ebook/formats/txt.py:
|
35
|
+
#: src/txt2ebook/formats/txt.py:156
|
36
36
|
msgid "tag:"
|
37
37
|
msgstr "票签:"
|
txt2ebook/parser.py
CHANGED
@@ -26,7 +26,7 @@ import regex as re
|
|
26
26
|
|
27
27
|
from txt2ebook.models import Book, Chapter, Volume
|
28
28
|
from txt2ebook.tokenizer import Tokenizer
|
29
|
-
from txt2ebook.zh_utils import zh_halfwidth_to_fullwidth,
|
29
|
+
from txt2ebook.zh_utils import zh_halfwidth_to_fullwidth, zh_words_to_numbers
|
30
30
|
|
31
31
|
logger = logging.getLogger(__name__)
|
32
32
|
|
@@ -135,7 +135,6 @@ class Parser:
|
|
135
135
|
)
|
136
136
|
return replaced_words
|
137
137
|
|
138
|
-
|
139
138
|
def parse_tokens(self, tokenizer: Tokenizer) -> Tuple:
|
140
139
|
"""Parse the tokens and organize into book structure."""
|
141
140
|
toc: List[Union[Volume, Chapter]] = []
|
txt2ebook/txt2ebook.py
CHANGED
@@ -26,11 +26,9 @@ from langdetect import detect
|
|
26
26
|
|
27
27
|
from txt2ebook import __version__, setup_logger
|
28
28
|
from txt2ebook.exceptions import EmptyFileError
|
29
|
-
from txt2ebook.formats import create_format
|
29
|
+
from txt2ebook.formats import EBOOK_FORMATS, EPUB_TEMPLATES, create_format
|
30
30
|
from txt2ebook.parser import Parser
|
31
31
|
|
32
|
-
EBOOK_EXTS = ["epub", "txt"]
|
33
|
-
|
34
32
|
logger = logging.getLogger(__name__)
|
35
33
|
|
36
34
|
|
@@ -104,7 +102,7 @@ def build_parser(
|
|
104
102
|
default=None,
|
105
103
|
help=(
|
106
104
|
"converted ebook filename "
|
107
|
-
"(default: 'TXT_FILENAME.{" + ",".join(
|
105
|
+
"(default: 'TXT_FILENAME.{" + ",".join(EBOOK_FORMATS) + "}')"
|
108
106
|
),
|
109
107
|
metavar="EBOOK_FILENAME",
|
110
108
|
)
|
@@ -114,7 +112,7 @@ def build_parser(
|
|
114
112
|
"--format",
|
115
113
|
dest="format",
|
116
114
|
default=["epub", "txt"],
|
117
|
-
choices=
|
115
|
+
choices=EBOOK_FORMATS,
|
118
116
|
action="append",
|
119
117
|
help="ebook format (default: '%(default)s')",
|
120
118
|
)
|
@@ -264,9 +262,9 @@ def build_parser(
|
|
264
262
|
"-et",
|
265
263
|
"--epub-template",
|
266
264
|
default="clean",
|
265
|
+
choices=EPUB_TEMPLATES,
|
267
266
|
dest="epub_template",
|
268
267
|
help="CSS template for epub ebook (default: '%(default)s')",
|
269
|
-
metavar="TEMPLATE",
|
270
268
|
)
|
271
269
|
|
272
270
|
parser.add_argument(
|
txt2ebook/zh_utils.py
CHANGED
@@ -16,10 +16,12 @@
|
|
16
16
|
"""String helper functions for handling zh related text."""
|
17
17
|
|
18
18
|
import re
|
19
|
+
import warnings
|
19
20
|
from typing import Any
|
20
21
|
from unicodedata import numeric
|
21
22
|
|
22
23
|
WORD_NUMERIC_MAP = {
|
24
|
+
"两": 2.0,
|
23
25
|
"圩": 50.0,
|
24
26
|
"圓": 60.0,
|
25
27
|
"進": 70.0,
|
@@ -130,9 +132,18 @@ def zh_words_to_numbers(words: str, length: int = 0) -> str:
|
|
130
132
|
header_nums += int(zh_numeric(word_grp))
|
131
133
|
|
132
134
|
padded_header_nums = str(header_nums)
|
133
|
-
|
135
|
+
|
134
136
|
if length > 0:
|
135
|
-
|
137
|
+
word_length = len(padded_header_nums)
|
138
|
+
if word_length < length:
|
139
|
+
padded_header_nums = padded_header_nums.rjust(length, "0")
|
140
|
+
else:
|
141
|
+
warnings.warn(
|
142
|
+
(
|
143
|
+
"prepend zero length less than word length, "
|
144
|
+
f"word length: {word_length}, prepend length: {length}"
|
145
|
+
)
|
146
|
+
)
|
136
147
|
|
137
148
|
replaced_words = words.replace(header_words, padded_header_nums)
|
138
149
|
return replaced_words
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: txt2ebook
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.26
|
4
4
|
Summary: CLI tool to convert txt file to ebook format
|
5
5
|
Home-page: https://github.com/kianmeng/txt2ebook
|
6
6
|
License: AGPL-3.0-or-later
|
@@ -31,7 +31,6 @@ Requires-Dist: CJKwrap (>=2.2,<3.0)
|
|
31
31
|
Requires-Dist: EbookLib (>=0.17.1,<0.18.0)
|
32
32
|
Requires-Dist: bs4 (>=0.0.1,<0.0.2)
|
33
33
|
Requires-Dist: langdetect (>=1.0.9,<2.0.0)
|
34
|
-
Requires-Dist: pytest-xdist (>=3.1.0,<4.0.0)
|
35
34
|
Requires-Dist: regex (>=2021.11.10,<2022.0.0)
|
36
35
|
Requires-Dist: tox-pyenv (>=1.1.0,<2.0.0)
|
37
36
|
Project-URL: Repository, https://github.com/kianmeng/txt2ebook
|
@@ -67,8 +66,9 @@ txt2ebook --help
|
|
67
66
|
usage: txt2ebook [-f {epub,txt}] [-t TITLE] [-l LANGUAGE] [-a AUTHOR]
|
68
67
|
[-c IMAGE_FILENAME] [-w WIDTH] [-ps SEPARATOR] [-rd REGEX]
|
69
68
|
[-rvc REGEX] [-rv REGEX] [-rc REGEX] [-rt REGEX] [-ra REGEX]
|
70
|
-
[-rl REGEX] [-rr REGEX REGEX] [-et
|
71
|
-
[-sp] [-hn] [-fw] [-rw] [-ob] [-ow] [-v] [-d]
|
69
|
+
[-rl REGEX] [-rr REGEX REGEX] [-et {clean,noindent,condense}]
|
70
|
+
[-vp] [-tp] [-sp] [-hn] [-fw] [-rw] [-ob] [-ow] [-v] [-d]
|
71
|
+
[-h] [-V]
|
72
72
|
TXT_FILENAME [EBOOK_FILENAME]
|
73
73
|
|
74
74
|
txt2ebook/tte is a cli tool to convert txt file to ebook format.
|
@@ -112,7 +112,7 @@ optional arguments:
|
|
112
112
|
regex to delete whole line (default: '[]')
|
113
113
|
-rr REGEX REGEX, --regex-replace REGEX REGEX
|
114
114
|
regex to search and replace (default: '[]')
|
115
|
-
-et
|
115
|
+
-et {clean,noindent,condense}, --epub-template {clean,noindent,condense}
|
116
116
|
CSS template for epub ebook (default: 'clean')
|
117
117
|
-vp, --volume-page
|
118
118
|
generate each volume as separate page (only 'epub' format)
|
@@ -1,14 +1,16 @@
|
|
1
|
-
CHANGELOG.md,sha256=
|
2
|
-
CONTRIBUTING.md,sha256=
|
1
|
+
CHANGELOG.md,sha256=LaLINjcPErTzsFwx4fZrHrO4oQYV7RyJ1B_EnwPf-A8,13434
|
2
|
+
CONTRIBUTING.md,sha256=DZ3pLVwymnPhcMNY6F2lIPmOnHsNFItOHy7zWlhp2n0,1408
|
3
3
|
LICENSE.md,sha256=tGtFDwxWTjuR9syrJoSv1Hiffd2u8Tu8cYClfrXS_YU,31956
|
4
|
-
txt2ebook/__init__.py,sha256=
|
4
|
+
txt2ebook/__init__.py,sha256=CYBYlRWiEeUCAWfrP4gaWtk5eDG9yfkJp3-BFgkrNfA,1646
|
5
5
|
txt2ebook/__main__.py,sha256=69yaheH-Fv2VIPS0T9kiVmiMluSgLGvwo1fa7badX2I,845
|
6
6
|
txt2ebook/exceptions.py,sha256=Y6rqjXhiKIxNeKWVqvAqsUAOaBFKxlUE5Tm5EBcoi9w,837
|
7
|
-
txt2ebook/formats/__init__.py,sha256=
|
8
|
-
txt2ebook/formats/epub.py,sha256=
|
7
|
+
txt2ebook/formats/__init__.py,sha256=z24b6RWphrEVGC-ISw3KHxgkh7ZTsHEQRP_s86kvh4c,1897
|
8
|
+
txt2ebook/formats/epub.py,sha256=iXhq3EWT0NxMTiZJuZs2UbYAJBftUXK75f5DlLsq6mY,8502
|
9
9
|
txt2ebook/formats/templates/__init__.py,sha256=0Hhm7Dayb7eB9h2cFo2103H4Tr6ie0ySMZ5gR01q6ag,750
|
10
10
|
txt2ebook/formats/templates/epub/__init__.py,sha256=O2sdWRhkuamReBR20WedGWosLp8Dt8NZ33aXzyNQuLQ,756
|
11
11
|
txt2ebook/formats/templates/epub/clean.css,sha256=AnEwMckzUSKcjKsDiWtJW1oaceuklt2tyuS1VbpVK1s,462
|
12
|
+
txt2ebook/formats/templates/epub/condense.css,sha256=Fz80ZqkPsFRmGdURduAxqMV8drD0CCUlrv41P8rUsm8,477
|
13
|
+
txt2ebook/formats/templates/epub/noindent.css,sha256=_O5Tv90TKyyPBRdgjuNKFwtKFbdheh2V9PtDhgRUg3U,483
|
12
14
|
txt2ebook/formats/txt.py,sha256=Efb_zU3oMJ4OyVOTrmwMEnmFH8INZxiM3adzAqVH6Vo,6844
|
13
15
|
txt2ebook/helpers/__init__.py,sha256=UNFxeTg1tZ81DMk7_JsfhtW0zDsQH29hkYkqKrsYUQ0,1722
|
14
16
|
txt2ebook/languages/__init__.py,sha256=-c9-YQEkXnb9LKLoi7EtNlQLAw2SqDKVw2UXlWt9Dl0,753
|
@@ -16,20 +18,20 @@ txt2ebook/languages/en.py,sha256=xCIhL431eUgoGwci4LCBkso8bR2LBhxKqWCPczKKoJQ,915
|
|
16
18
|
txt2ebook/languages/zh_cn.py,sha256=UVTkxNmhZL5d6Ui53UfJ0jgwtnZmfjwbN4axLQZXkMY,1699
|
17
19
|
txt2ebook/languages/zh_tw.py,sha256=D_YVDNj4uik8rAkgtiEashaONRjLqAkBh6kvAqozttk,1227
|
18
20
|
txt2ebook/locales/en/LC_MESSAGES/txt2ebook.mo,sha256=rMcL7tj29bvbTMqDJOuw27U8TmTlX1FP4GVNmec36SU,527
|
19
|
-
txt2ebook/locales/en/LC_MESSAGES/txt2ebook.po,sha256=
|
20
|
-
txt2ebook/locales/txt2ebook.pot,sha256=
|
21
|
+
txt2ebook/locales/en/LC_MESSAGES/txt2ebook.po,sha256=8naBQ3LMFfziTOdLvZfKk0066HuRCu20aUC4lqhJoFQ,827
|
22
|
+
txt2ebook/locales/txt2ebook.pot,sha256=uTzyQa-N4kdng9DHXkcMXmr4Mf5S1CC4T9PbwNxltDc,784
|
21
23
|
txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.mo,sha256=OkYKLhkYjqfdt2DbF3-TaCodD8BDh3hmOZuEn0FLja0,507
|
22
|
-
txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.po,sha256=
|
24
|
+
txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.po,sha256=9V5RBklXlDpn_wxZUm1eVeEGGpKnewjWzESoxjeO5No,811
|
23
25
|
txt2ebook/models/__init__.py,sha256=oHf4YvkEV7qKHhHiGxl4m95DSJ3zSIW2uJQec-BwXrc,920
|
24
26
|
txt2ebook/models/book.py,sha256=hDOtA2ppBPIQqMrlQdmx55CE7eKP_e0JthpfUxaWdew,2216
|
25
27
|
txt2ebook/models/chapter.py,sha256=PhPHraG3QNgY4C-USAzTDpDPVNsvTL8yC3r2iTW42KU,1676
|
26
28
|
txt2ebook/models/volume.py,sha256=4n6a9cF69NTcOmWTxT1sVm-Bjvf-fagJ2E8thVX4uzg,1587
|
27
|
-
txt2ebook/parser.py,sha256=
|
29
|
+
txt2ebook/parser.py,sha256=a7b7uB7zC5lFgTihz07qNWMyOU-_0ZL1tpfaf_IQFDE,11922
|
28
30
|
txt2ebook/tokenizer.py,sha256=lsgGZSVpKl5fC6eEf8eIrGKZIVQnLqKM1Kenn4xJ-u4,9263
|
29
|
-
txt2ebook/txt2ebook.py,sha256=
|
30
|
-
txt2ebook/zh_utils.py,sha256=
|
31
|
-
txt2ebook-0.1.
|
32
|
-
txt2ebook-0.1.
|
33
|
-
txt2ebook-0.1.
|
34
|
-
txt2ebook-0.1.
|
35
|
-
txt2ebook-0.1.
|
31
|
+
txt2ebook/txt2ebook.py,sha256=LJD-7mmnonSVo4yZXJFda3mnrY95zpk5onO8_34wQkQ,10704
|
32
|
+
txt2ebook/zh_utils.py,sha256=AAkvL2O8WRpm6ftZuZZ5nyWCn3h4kjImJouJFEig_C0,4588
|
33
|
+
txt2ebook-0.1.26.dist-info/LICENSE.md,sha256=tGtFDwxWTjuR9syrJoSv1Hiffd2u8Tu8cYClfrXS_YU,31956
|
34
|
+
txt2ebook-0.1.26.dist-info/entry_points.txt,sha256=IQHyIIhd0MHjSSRVC1a6tMeIoLus8D06KHL_cumvEbg,83
|
35
|
+
txt2ebook-0.1.26.dist-info/WHEEL,sha256=vVCvjcmxuUltf8cYhJ0sJMRDLr1XsPuxEId8YDzbyCY,88
|
36
|
+
txt2ebook-0.1.26.dist-info/METADATA,sha256=ZDlrXQPVHgGjvHNXhi2RlVUG17UmNj8x5SY8sc94WNg,6023
|
37
|
+
txt2ebook-0.1.26.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|