txt2ebook 0.1.141__tar.gz → 0.1.142__tar.gz
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.
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/.pre-commit-config.yaml +1 -1
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/CHANGELOG.md +8 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/PKG-INFO +1 -1
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/noxfile.py +1 -2
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/pyproject.toml +1 -1
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/parser.py +7 -4
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/parse.py +11 -13
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_input_file_arg.py +3 -3
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/uv.lock +54 -44
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/.coveragerc +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/.gitignore +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/.python-version +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/CONTRIBUTING.md +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/LICENSE.md +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/README.md +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/Makefile +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/make.bat +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/CHANGELOG.md +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/CONTRIBUTING.md +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/LICENSE.md +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/README.md +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/_static/logo.png +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/conf.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/index.rst +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/txt2ebook.formats.rst +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/txt2ebook.helpers.rst +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/txt2ebook.models.rst +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/txt2ebook.parsers.rst +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/docs/source/txt2ebook.rst +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/__main__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/cli.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/exceptions.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/base.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/epub.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/gmi.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/md.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/pdf.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/templates/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/templates/epub/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/templates/epub/clean.css +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/templates/epub/condense.css +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/templates/epub/noindent.css +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/tex.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/txt.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/formats/typ.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/helpers/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/languages/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/languages/en.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/languages/zh_cn.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/languages/zh_tw.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/en/LC_MESSAGES/txt2ebook.mo +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/en/LC_MESSAGES/txt2ebook.po +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/txt2ebook.pot +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.mo +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.po +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/zh-tw/LC_MESSAGES/txt2ebook.mo +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/zh-tw/LC_MESSAGES/txt2ebook.po +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/models/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/models/book.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/models/chapter.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/models/volume.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/env.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/epub.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/gmi.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/massage.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/md.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/pdf.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/tex.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/subcommands/typ.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/tokenizer.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/zh_utils.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/__init__.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/conftest.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/empty_file.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/missing_chapters.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/sample.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/sample_all_headers.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/sample_long_headers.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/sample_remove_wrapping.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/sample_unsorted_headers.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/sample_with_issues.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/fixtures/sample_with_metadata.txt +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_epub_writer.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_filename_format_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_format_option.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_header_number_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_language_option.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_output_file_arg.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_overwrite_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_parser.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_purge_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_quiet_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_raise_warnings.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_sort_volume_and_chapter_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_split_volume_and_chapter_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_subcommand_env.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_subcommand_epub.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_subcommand_massage.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_test_parsing_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_tokenizer.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_translator_option.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_txt2ebook.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_verbose_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_volume_page_flag.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_zh_utils_zh_halfwidth_to_fullwidth.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_zh_utils_zh_numeric.py +0 -0
- {txt2ebook-0.1.141 → txt2ebook-0.1.142}/tests/test_zh_utils_zh_words_to_numbers.py +0 -0
@@ -7,6 +7,14 @@ and this project adheres to [0-based versioning](https://0ver.org/).
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## v0.1.142 (2025-06-01)
|
11
|
+
|
12
|
+
- Bump deps
|
13
|
+
- Bump `pre-commit` hook for `mypy`
|
14
|
+
- Handle empty content when parsing
|
15
|
+
- Update test to use `parse` subcommand
|
16
|
+
- Use pre-commit in `venv` in `deps` `nox` job
|
17
|
+
|
10
18
|
## v0.1.141 (2025-05-25)
|
11
19
|
|
12
20
|
- Bump and sort deps
|
@@ -25,9 +25,8 @@ nox.options.default_venv_backend = "uv"
|
|
25
25
|
@nox.session(python="3.9")
|
26
26
|
def deps(session: nox.Session) -> None:
|
27
27
|
"""Update pre-commit hooks and deps."""
|
28
|
-
session.install("pre-commit", "uv")
|
29
|
-
session.run("pre-commit", "autoupdate", *session.posargs)
|
30
28
|
session.run("uv", "sync", "-U", "--active")
|
29
|
+
session.run("pre-commit", "autoupdate", *session.posargs)
|
31
30
|
|
32
31
|
|
33
32
|
@nox.session()
|
@@ -19,6 +19,8 @@ import argparse
|
|
19
19
|
import logging
|
20
20
|
from dataclasses import dataclass
|
21
21
|
from importlib import import_module
|
22
|
+
from importlib import import_module
|
23
|
+
from types import ModuleType
|
22
24
|
from typing import List, Tuple, Union
|
23
25
|
|
24
26
|
import regex as re
|
@@ -36,14 +38,15 @@ class Parser:
|
|
36
38
|
|
37
39
|
raw_content: str
|
38
40
|
config: argparse.Namespace
|
41
|
+
langconf: ModuleType
|
39
42
|
|
40
|
-
def __init__(
|
43
|
+
def __init__(
|
44
|
+
self, raw_content: str, config: argparse.Namespace, langconf: ModuleType
|
45
|
+
) -> None:
|
41
46
|
"""Set the constructor for the Parser."""
|
42
47
|
self.raw_content = raw_content
|
43
48
|
self.config = config
|
44
|
-
|
45
|
-
config_lang = config.language.replace("-", "_")
|
46
|
-
self.langconf = import_module(f"txt2ebook.languages.{config_lang}")
|
49
|
+
self.langconf = langconf
|
47
50
|
|
48
51
|
def parse(self) -> Book:
|
49
52
|
"""Parse the content into volumes (optional) and chapters.
|
@@ -19,10 +19,14 @@ import argparse
|
|
19
19
|
import logging
|
20
20
|
import sys
|
21
21
|
|
22
|
+
import logging
|
23
|
+
import sys
|
24
|
+
from importlib import import_module
|
25
|
+
|
22
26
|
import jieba.analyse
|
23
27
|
from bs4 import UnicodeDammit
|
24
|
-
from langdetect import detect
|
25
28
|
|
29
|
+
from txt2ebook import detect_and_expect_language
|
26
30
|
from txt2ebook.exceptions import EmptyFileError
|
27
31
|
from txt2ebook.models import Book
|
28
32
|
from txt2ebook.parser import Parser
|
@@ -73,26 +77,20 @@ def run(args: argparse.Namespace) -> Book:
|
|
73
77
|
logger.info("Detect encoding : %s", unicode.original_encoding)
|
74
78
|
|
75
79
|
content = unicode.unicode_markup
|
80
|
+
|
76
81
|
if not content:
|
77
82
|
raise EmptyFileError(f"Empty file content in {args.input_file.name}")
|
78
83
|
|
79
|
-
|
80
|
-
detect_language = detect(content)
|
81
|
-
args.language = args_language or detect_language
|
82
|
-
logger.info("args language: %s", args_language)
|
83
|
-
logger.info("Detect language: %s", detect_language)
|
84
|
+
logger.info("Detect encoding : %s", unicode.original_encoding)
|
84
85
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
args_language,
|
89
|
-
detect_language,
|
90
|
-
)
|
86
|
+
args.language = detect_and_expect_language(content, args.language)
|
87
|
+
config_lang = args.language.replace("-", "_")
|
88
|
+
langconf = import_module(f"txt2ebook.languages.{config_lang}")
|
91
89
|
|
92
90
|
tags = jieba.analyse.extract_tags(content, topK=100)
|
93
91
|
logger.info("tags: %s", " ".join(tags))
|
94
92
|
|
95
|
-
parser = Parser(content, args)
|
93
|
+
parser = Parser(content, args, langconf)
|
96
94
|
book = parser.parse()
|
97
95
|
|
98
96
|
if args.debug:
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
def test_nonexistent_filename(cli_runner):
|
5
|
-
output = cli_runner("nonexistent.txt")
|
5
|
+
output = cli_runner("parse", "nonexistent.txt")
|
6
6
|
assert (
|
7
7
|
"[Errno 2] No such file or directory: 'nonexistent.txt'"
|
8
8
|
in output.stderr
|
@@ -11,5 +11,5 @@ def test_nonexistent_filename(cli_runner):
|
|
11
11
|
|
12
12
|
def test_empty_file_content(cli_runner, infile):
|
13
13
|
txt = infile("empty_file.txt")
|
14
|
-
output = cli_runner(str(txt))
|
15
|
-
assert f"Empty file content in {str(txt)}" in output.stdout
|
14
|
+
output = cli_runner("parse", str(txt))
|
15
|
+
assert f"error: Empty file content in {str(txt)}" in output.stdout
|
@@ -719,46 +719,47 @@ wheels = [
|
|
719
719
|
|
720
720
|
[[package]]
|
721
721
|
name = "mypy"
|
722
|
-
version = "1.
|
722
|
+
version = "1.16.0"
|
723
723
|
source = { registry = "https://pypi.org/simple" }
|
724
724
|
dependencies = [
|
725
725
|
{ name = "mypy-extensions" },
|
726
|
+
{ name = "pathspec" },
|
726
727
|
{ name = "tomli", marker = "python_full_version < '3.11'" },
|
727
728
|
{ name = "typing-extensions" },
|
728
729
|
]
|
729
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
730
|
-
wheels = [
|
731
|
-
{ url = "https://files.pythonhosted.org/packages/
|
732
|
-
{ url = "https://files.pythonhosted.org/packages/
|
733
|
-
{ url = "https://files.pythonhosted.org/packages/
|
734
|
-
{ url = "https://files.pythonhosted.org/packages/
|
735
|
-
{ url = "https://files.pythonhosted.org/packages/
|
736
|
-
{ url = "https://files.pythonhosted.org/packages/
|
737
|
-
{ url = "https://files.pythonhosted.org/packages/
|
738
|
-
{ url = "https://files.pythonhosted.org/packages/
|
739
|
-
{ url = "https://files.pythonhosted.org/packages/
|
740
|
-
{ url = "https://files.pythonhosted.org/packages/
|
741
|
-
{ url = "https://files.pythonhosted.org/packages/
|
742
|
-
{ url = "https://files.pythonhosted.org/packages/
|
743
|
-
{ url = "https://files.pythonhosted.org/packages/
|
744
|
-
{ url = "https://files.pythonhosted.org/packages/
|
745
|
-
{ url = "https://files.pythonhosted.org/packages/
|
746
|
-
{ url = "https://files.pythonhosted.org/packages/
|
747
|
-
{ url = "https://files.pythonhosted.org/packages/
|
748
|
-
{ url = "https://files.pythonhosted.org/packages/
|
749
|
-
{ url = "https://files.pythonhosted.org/packages/
|
750
|
-
{ url = "https://files.pythonhosted.org/packages/
|
751
|
-
{ url = "https://files.pythonhosted.org/packages/
|
752
|
-
{ url = "https://files.pythonhosted.org/packages/
|
753
|
-
{ url = "https://files.pythonhosted.org/packages/
|
754
|
-
{ url = "https://files.pythonhosted.org/packages/
|
755
|
-
{ url = "https://files.pythonhosted.org/packages/
|
756
|
-
{ url = "https://files.pythonhosted.org/packages/
|
757
|
-
{ url = "https://files.pythonhosted.org/packages/
|
758
|
-
{ url = "https://files.pythonhosted.org/packages/
|
759
|
-
{ url = "https://files.pythonhosted.org/packages/
|
760
|
-
{ url = "https://files.pythonhosted.org/packages/
|
761
|
-
{ url = "https://files.pythonhosted.org/packages/
|
730
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d4/38/13c2f1abae94d5ea0354e146b95a1be9b2137a0d506728e0da037c4276f6/mypy-1.16.0.tar.gz", hash = "sha256:84b94283f817e2aa6350a14b4a8fb2a35a53c286f97c9d30f53b63620e7af8ab", size = 3323139, upload-time = "2025-05-29T13:46:12.532Z" }
|
731
|
+
wheels = [
|
732
|
+
{ url = "https://files.pythonhosted.org/packages/64/5e/a0485f0608a3d67029d3d73cec209278b025e3493a3acfda3ef3a88540fd/mypy-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7909541fef256527e5ee9c0a7e2aeed78b6cda72ba44298d1334fe7881b05c5c", size = 10967416, upload-time = "2025-05-29T13:34:17.783Z" },
|
733
|
+
{ url = "https://files.pythonhosted.org/packages/4b/53/5837c221f74c0d53a4bfc3003296f8179c3a2a7f336d7de7bbafbe96b688/mypy-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e71d6f0090c2256c713ed3d52711d01859c82608b5d68d4fa01a3fe30df95571", size = 10087654, upload-time = "2025-05-29T13:32:37.878Z" },
|
734
|
+
{ url = "https://files.pythonhosted.org/packages/29/59/5fd2400352c3093bed4c09017fe671d26bc5bb7e6ef2d4bf85f2a2488104/mypy-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:936ccfdd749af4766be824268bfe22d1db9eb2f34a3ea1d00ffbe5b5265f5491", size = 11875192, upload-time = "2025-05-29T13:34:54.281Z" },
|
735
|
+
{ url = "https://files.pythonhosted.org/packages/ad/3e/4bfec74663a64c2012f3e278dbc29ffe82b121bc551758590d1b6449ec0c/mypy-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4086883a73166631307fdd330c4a9080ce24913d4f4c5ec596c601b3a4bdd777", size = 12612939, upload-time = "2025-05-29T13:33:14.766Z" },
|
736
|
+
{ url = "https://files.pythonhosted.org/packages/88/1f/fecbe3dcba4bf2ca34c26ca016383a9676711907f8db4da8354925cbb08f/mypy-1.16.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:feec38097f71797da0231997e0de3a58108c51845399669ebc532c815f93866b", size = 12874719, upload-time = "2025-05-29T13:21:52.09Z" },
|
737
|
+
{ url = "https://files.pythonhosted.org/packages/f3/51/c2d280601cd816c43dfa512a759270d5a5ef638d7ac9bea9134c8305a12f/mypy-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:09a8da6a0ee9a9770b8ff61b39c0bb07971cda90e7297f4213741b48a0cc8d93", size = 9487053, upload-time = "2025-05-29T13:33:29.797Z" },
|
738
|
+
{ url = "https://files.pythonhosted.org/packages/24/c4/ff2f79db7075c274fe85b5fff8797d29c6b61b8854c39e3b7feb556aa377/mypy-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9f826aaa7ff8443bac6a494cf743f591488ea940dd360e7dd330e30dd772a5ab", size = 10884498, upload-time = "2025-05-29T13:18:54.066Z" },
|
739
|
+
{ url = "https://files.pythonhosted.org/packages/02/07/12198e83006235f10f6a7808917376b5d6240a2fd5dce740fe5d2ebf3247/mypy-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:82d056e6faa508501af333a6af192c700b33e15865bda49611e3d7d8358ebea2", size = 10011755, upload-time = "2025-05-29T13:34:00.851Z" },
|
740
|
+
{ url = "https://files.pythonhosted.org/packages/f1/9b/5fd5801a72b5d6fb6ec0105ea1d0e01ab2d4971893076e558d4b6d6b5f80/mypy-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:089bedc02307c2548eb51f426e085546db1fa7dd87fbb7c9fa561575cf6eb1ff", size = 11800138, upload-time = "2025-05-29T13:32:55.082Z" },
|
741
|
+
{ url = "https://files.pythonhosted.org/packages/2e/81/a117441ea5dfc3746431e51d78a4aca569c677aa225bca2cc05a7c239b61/mypy-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6a2322896003ba66bbd1318c10d3afdfe24e78ef12ea10e2acd985e9d684a666", size = 12533156, upload-time = "2025-05-29T13:19:12.963Z" },
|
742
|
+
{ url = "https://files.pythonhosted.org/packages/3f/38/88ec57c6c86014d3f06251e00f397b5a7daa6888884d0abf187e4f5f587f/mypy-1.16.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:021a68568082c5b36e977d54e8f1de978baf401a33884ffcea09bd8e88a98f4c", size = 12742426, upload-time = "2025-05-29T13:20:22.72Z" },
|
743
|
+
{ url = "https://files.pythonhosted.org/packages/bd/53/7e9d528433d56e6f6f77ccf24af6ce570986c2d98a5839e4c2009ef47283/mypy-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:54066fed302d83bf5128632d05b4ec68412e1f03ef2c300434057d66866cea4b", size = 9478319, upload-time = "2025-05-29T13:21:17.582Z" },
|
744
|
+
{ url = "https://files.pythonhosted.org/packages/70/cf/158e5055e60ca2be23aec54a3010f89dcffd788732634b344fc9cb1e85a0/mypy-1.16.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c5436d11e89a3ad16ce8afe752f0f373ae9620841c50883dc96f8b8805620b13", size = 11062927, upload-time = "2025-05-29T13:35:52.328Z" },
|
745
|
+
{ url = "https://files.pythonhosted.org/packages/94/34/cfff7a56be1609f5d10ef386342ce3494158e4d506516890142007e6472c/mypy-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f2622af30bf01d8fc36466231bdd203d120d7a599a6d88fb22bdcb9dbff84090", size = 10083082, upload-time = "2025-05-29T13:35:33.378Z" },
|
746
|
+
{ url = "https://files.pythonhosted.org/packages/b3/7f/7242062ec6288c33d8ad89574df87c3903d394870e5e6ba1699317a65075/mypy-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d045d33c284e10a038f5e29faca055b90eee87da3fc63b8889085744ebabb5a1", size = 11828306, upload-time = "2025-05-29T13:21:02.164Z" },
|
747
|
+
{ url = "https://files.pythonhosted.org/packages/6f/5f/b392f7b4f659f5b619ce5994c5c43caab3d80df2296ae54fa888b3d17f5a/mypy-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b4968f14f44c62e2ec4a038c8797a87315be8df7740dc3ee8d3bfe1c6bf5dba8", size = 12702764, upload-time = "2025-05-29T13:20:42.826Z" },
|
748
|
+
{ url = "https://files.pythonhosted.org/packages/9b/c0/7646ef3a00fa39ac9bc0938626d9ff29d19d733011be929cfea59d82d136/mypy-1.16.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eb14a4a871bb8efb1e4a50360d4e3c8d6c601e7a31028a2c79f9bb659b63d730", size = 12896233, upload-time = "2025-05-29T13:18:37.446Z" },
|
749
|
+
{ url = "https://files.pythonhosted.org/packages/6d/38/52f4b808b3fef7f0ef840ee8ff6ce5b5d77381e65425758d515cdd4f5bb5/mypy-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:bd4e1ebe126152a7bbaa4daedd781c90c8f9643c79b9748caa270ad542f12bec", size = 9565547, upload-time = "2025-05-29T13:20:02.836Z" },
|
750
|
+
{ url = "https://files.pythonhosted.org/packages/97/9c/ca03bdbefbaa03b264b9318a98950a9c683e06472226b55472f96ebbc53d/mypy-1.16.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a9e056237c89f1587a3be1a3a70a06a698d25e2479b9a2f57325ddaaffc3567b", size = 11059753, upload-time = "2025-05-29T13:18:18.167Z" },
|
751
|
+
{ url = "https://files.pythonhosted.org/packages/36/92/79a969b8302cfe316027c88f7dc6fee70129490a370b3f6eb11d777749d0/mypy-1.16.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b07e107affb9ee6ce1f342c07f51552d126c32cd62955f59a7db94a51ad12c0", size = 10073338, upload-time = "2025-05-29T13:19:48.079Z" },
|
752
|
+
{ url = "https://files.pythonhosted.org/packages/14/9b/a943f09319167da0552d5cd722104096a9c99270719b1afeea60d11610aa/mypy-1.16.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c6fb60cbd85dc65d4d63d37cb5c86f4e3a301ec605f606ae3a9173e5cf34997b", size = 11827764, upload-time = "2025-05-29T13:46:04.47Z" },
|
753
|
+
{ url = "https://files.pythonhosted.org/packages/ec/64/ff75e71c65a0cb6ee737287c7913ea155845a556c64144c65b811afdb9c7/mypy-1.16.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a7e32297a437cc915599e0578fa6bc68ae6a8dc059c9e009c628e1c47f91495d", size = 12701356, upload-time = "2025-05-29T13:35:13.553Z" },
|
754
|
+
{ url = "https://files.pythonhosted.org/packages/0a/ad/0e93c18987a1182c350f7a5fab70550852f9fabe30ecb63bfbe51b602074/mypy-1.16.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:afe420c9380ccec31e744e8baff0d406c846683681025db3531b32db56962d52", size = 12900745, upload-time = "2025-05-29T13:17:24.409Z" },
|
755
|
+
{ url = "https://files.pythonhosted.org/packages/28/5d/036c278d7a013e97e33f08c047fe5583ab4f1fc47c9a49f985f1cdd2a2d7/mypy-1.16.0-cp313-cp313-win_amd64.whl", hash = "sha256:55f9076c6ce55dd3f8cd0c6fff26a008ca8e5131b89d5ba6d86bd3f47e736eeb", size = 9572200, upload-time = "2025-05-29T13:33:44.92Z" },
|
756
|
+
{ url = "https://files.pythonhosted.org/packages/bd/eb/c0759617fe2159aee7a653f13cceafbf7f0b6323b4197403f2e587ca947d/mypy-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f56236114c425620875c7cf71700e3d60004858da856c6fc78998ffe767b73d3", size = 10956081, upload-time = "2025-05-29T13:19:32.264Z" },
|
757
|
+
{ url = "https://files.pythonhosted.org/packages/70/35/df3c74a2967bdf86edea58b265feeec181d693432faed1c3b688b7c231e3/mypy-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:15486beea80be24ff067d7d0ede673b001d0d684d0095803b3e6e17a886a2a92", size = 10084422, upload-time = "2025-05-29T13:18:01.437Z" },
|
758
|
+
{ url = "https://files.pythonhosted.org/packages/b3/07/145ffe29f4b577219943b7b1dc0a71df7ead3c5bed4898686bd87c5b5cc2/mypy-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f2ed0e0847a80655afa2c121835b848ed101cc7b8d8d6ecc5205aedc732b1436", size = 11879670, upload-time = "2025-05-29T13:17:45.971Z" },
|
759
|
+
{ url = "https://files.pythonhosted.org/packages/c6/94/0421562d6b046e22986758c9ae31865d10ea0ba607ae99b32c9d18b16f66/mypy-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eb5fbc8063cb4fde7787e4c0406aa63094a34a2daf4673f359a1fb64050e9cb2", size = 12610528, upload-time = "2025-05-29T13:34:36.983Z" },
|
760
|
+
{ url = "https://files.pythonhosted.org/packages/1a/f1/39a22985b78c766a594ae1e0bbb6f8bdf5f31ea8d0c52291a3c211fd3cd5/mypy-1.16.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a5fcfdb7318c6a8dd127b14b1052743b83e97a970f0edb6c913211507a255e20", size = 12871923, upload-time = "2025-05-29T13:32:21.823Z" },
|
761
|
+
{ url = "https://files.pythonhosted.org/packages/f3/8e/84db4fb0d01f43d2c82fa9072ca72a42c49e52d58f44307bbd747c977bc2/mypy-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7e0ad35275e02797323a5aa1be0b14a4d03ffdb2e5f2b0489fa07b89c67b21", size = 9482931, upload-time = "2025-05-29T13:21:32.326Z" },
|
762
|
+
{ url = "https://files.pythonhosted.org/packages/99/a3/6ed10530dec8e0fdc890d81361260c9ef1f5e5c217ad8c9b21ecb2b8366b/mypy-1.16.0-py3-none-any.whl", hash = "sha256:29e1499864a3888bca5c1542f2d7232c6e586295183320caa95758fc84034031", size = 2265773, upload-time = "2025-05-29T13:35:18.762Z" },
|
762
763
|
]
|
763
764
|
|
764
765
|
[[package]]
|
@@ -845,6 +846,15 @@ wheels = [
|
|
845
846
|
{ url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" },
|
846
847
|
]
|
847
848
|
|
849
|
+
[[package]]
|
850
|
+
name = "pathspec"
|
851
|
+
version = "0.12.1"
|
852
|
+
source = { registry = "https://pypi.org/simple" }
|
853
|
+
sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" }
|
854
|
+
wheels = [
|
855
|
+
{ url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" },
|
856
|
+
]
|
857
|
+
|
848
858
|
[[package]]
|
849
859
|
name = "pbr"
|
850
860
|
version = "6.1.1"
|
@@ -1111,15 +1121,15 @@ wheels = [
|
|
1111
1121
|
|
1112
1122
|
[[package]]
|
1113
1123
|
name = "pytest-xdist"
|
1114
|
-
version = "3.
|
1124
|
+
version = "3.7.0"
|
1115
1125
|
source = { registry = "https://pypi.org/simple" }
|
1116
1126
|
dependencies = [
|
1117
1127
|
{ name = "execnet" },
|
1118
1128
|
{ name = "pytest" },
|
1119
1129
|
]
|
1120
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1130
|
+
sdist = { url = "https://files.pythonhosted.org/packages/49/dc/865845cfe987b21658e871d16e0a24e871e00884c545f246dd8f6f69edda/pytest_xdist-3.7.0.tar.gz", hash = "sha256:f9248c99a7c15b7d2f90715df93610353a485827bc06eefb6566d23f6400f126", size = 87550, upload-time = "2025-05-26T21:18:20.251Z" }
|
1121
1131
|
wheels = [
|
1122
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1132
|
+
{ url = "https://files.pythonhosted.org/packages/0d/b2/0e802fde6f1c5b2f7ae7e9ad42b83fd4ecebac18a8a8c2f2f14e39dce6e1/pytest_xdist-3.7.0-py3-none-any.whl", hash = "sha256:7d3fbd255998265052435eb9daa4e99b62e6fb9cfb6efd1f858d4d8c0c7f0ca0", size = 46142, upload-time = "2025-05-26T21:18:18.759Z" },
|
1123
1133
|
]
|
1124
1134
|
|
1125
1135
|
[[package]]
|
@@ -1263,11 +1273,11 @@ sdist = { url = "https://files.pythonhosted.org/packages/c8/48/609b5463da485943d
|
|
1263
1273
|
|
1264
1274
|
[[package]]
|
1265
1275
|
name = "setuptools"
|
1266
|
-
version = "80.
|
1276
|
+
version = "80.9.0"
|
1267
1277
|
source = { registry = "https://pypi.org/simple" }
|
1268
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1278
|
+
sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" }
|
1269
1279
|
wheels = [
|
1270
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1280
|
+
{ url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" },
|
1271
1281
|
]
|
1272
1282
|
|
1273
1283
|
[[package]]
|
@@ -1475,7 +1485,7 @@ wheels = [
|
|
1475
1485
|
|
1476
1486
|
[[package]]
|
1477
1487
|
name = "txt2ebook"
|
1478
|
-
version = "0.1.
|
1488
|
+
version = "0.1.141"
|
1479
1489
|
source = { editable = "." }
|
1480
1490
|
dependencies = [
|
1481
1491
|
{ name = "bs4" },
|
@@ -1626,9 +1636,9 @@ wheels = [
|
|
1626
1636
|
|
1627
1637
|
[[package]]
|
1628
1638
|
name = "zipp"
|
1629
|
-
version = "3.
|
1639
|
+
version = "3.22.0"
|
1630
1640
|
source = { registry = "https://pypi.org/simple" }
|
1631
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
1641
|
+
sdist = { url = "https://files.pythonhosted.org/packages/12/b6/7b3d16792fdf94f146bed92be90b4eb4563569eca91513c8609aebf0c167/zipp-3.22.0.tar.gz", hash = "sha256:dd2f28c3ce4bc67507bfd3781d21b7bb2be31103b51a4553ad7d90b84e57ace5", size = 25257, upload-time = "2025-05-26T14:46:32.217Z" }
|
1632
1642
|
wheels = [
|
1633
|
-
{ url = "https://files.pythonhosted.org/packages/
|
1643
|
+
{ url = "https://files.pythonhosted.org/packages/ad/da/f64669af4cae46f17b90798a827519ce3737d31dbafad65d391e49643dc4/zipp-3.22.0-py3-none-any.whl", hash = "sha256:fe208f65f2aca48b81f9e6fd8cf7b8b32c26375266b009b413d45306b6148343", size = 9796, upload-time = "2025-05-26T14:46:30.775Z" },
|
1634
1644
|
]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.mo
RENAMED
File without changes
|
{txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/zh-cn/LC_MESSAGES/txt2ebook.po
RENAMED
File without changes
|
{txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/zh-tw/LC_MESSAGES/txt2ebook.mo
RENAMED
File without changes
|
{txt2ebook-0.1.141 → txt2ebook-0.1.142}/src/txt2ebook/locales/zh-tw/LC_MESSAGES/txt2ebook.po
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|