BabelDOC 0.2.4__tar.gz → 0.2.6__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.
- {babeldoc-0.2.4 → babeldoc-0.2.6}/PKG-INFO +12 -2
- {babeldoc-0.2.4 → babeldoc-0.2.6}/README.md +11 -1
- babeldoc-0.2.6/babeldoc/__init__.py +1 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/const.py +1 -1
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/paragraph_finder.py +3 -3
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/translator/translator.py +0 -50
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/main.py +1 -22
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/pdfinterp.py +2 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/progress_monitor.py +5 -1
- {babeldoc-0.2.4 → babeldoc-0.2.6}/pyproject.toml +2 -2
- {babeldoc-0.2.4 → babeldoc-0.2.6}/uv.lock +1 -1
- babeldoc-0.2.4/babeldoc/__init__.py +0 -1
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.cursorignore +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/dependabot.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/labels.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/release-drafter.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/workflows/codeql.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/workflows/docs.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/workflows/labeler.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/workflows/publish-to-pypi.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.github/workflows/test.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.gitignore +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/.pre-commit-config.yaml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/LICENSE +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/assets/assets.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/assets/embedding_assets_metadata.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/asynchronize/__init__.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/converter.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/__init__.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/backend/__init__.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/backend/pdf_creater.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/frontend/__init__.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/frontend/il_creater.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/il_version_1.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/il_version_1.rnc +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/il_version_1.rng +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/il_version_1.xsd +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/__init__.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/add_debug_information.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/il_translator.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/layout_parser.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/remove_descent.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/midend/typesetting.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/translator/__init__.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/translator/cache.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/utils/fontmap.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/utils/layout_helper.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/utils/style_helper.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/xml_converter.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/docvision/README.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/docvision/__init__.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/docvision/doclayout.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/docvision/rpc_doclayout.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/high_level.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/tools/generate_font_metadata.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/translation_config.py +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/CODE_OF_CONDUCT.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/CONTRIBUTING.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/CONTRIBUTOR_REWARD.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/README.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/README.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/deploy.sh +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-banner.png +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-big-logo.png +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-contributor_reward_example.png +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-preview.gif +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-small-logo.png +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/index.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/intro-to-pdf-object.md +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/docs/requirements.txt +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/mkdocs.yml +0 -0
- {babeldoc-0.2.4 → babeldoc-0.2.6}/tests/test_translation_config.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: BabelDOC
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.6
|
|
4
4
|
Summary: Yet Another Document Translator
|
|
5
5
|
Project-URL: Homepage, https://github.com/funstory-ai/BabelDOC
|
|
6
6
|
Project-URL: Issues, https://github.com/funstory-ai/BabelDOC/issues
|
|
@@ -138,6 +138,16 @@ uv run babeldoc --files example.pdf --files example2.pdf --openai --openai-model
|
|
|
138
138
|
|
|
139
139
|
## Advanced Options
|
|
140
140
|
|
|
141
|
+
> [!NOTE]
|
|
142
|
+
> This CLI is mainly for debugging purposes. Although end users can use this CLI to translate files, we do not provide any technical support for this purpose.
|
|
143
|
+
>
|
|
144
|
+
> End users should directly use **Online Service**: Beta version launched [Immersive Translate - BabelDOC](https://app.immersivetranslate.com/babel-doc/) 1000 free pages per month.
|
|
145
|
+
>
|
|
146
|
+
> End users who need self-deployment should use [PDFMathTranslate](https://github.com/Byaidu/PDFMathTranslate)
|
|
147
|
+
>
|
|
148
|
+
> If you find that an option is not listed below, it means that this option is a debugging option for maintainers. Please do not use these options.
|
|
149
|
+
|
|
150
|
+
|
|
141
151
|
### Language Options
|
|
142
152
|
|
|
143
153
|
- `--lang-in`, `-li`: Source language code (default: en)
|
|
@@ -181,7 +191,7 @@ uv run babeldoc --files example.pdf --files example2.pdf --openai --openai-model
|
|
|
181
191
|
|
|
182
192
|
> [!TIP]
|
|
183
193
|
>
|
|
184
|
-
> 1.
|
|
194
|
+
> 1. Currently, only OpenAI-compatible LLM is supported. For more translator support, please use [PDFMathTranslate](https://github.com/Byaidu/PDFMathTranslate).
|
|
185
195
|
> 2. It is recommended to use models with strong compatibility with OpenAI, such as: `glm-4-flash`, `deepseek-chat`, etc.
|
|
186
196
|
> 3. Currently, it has not been optimized for traditional translation engines like Bing/Google, it is recommended to use LLMs.
|
|
187
197
|
|
|
@@ -100,6 +100,16 @@ uv run babeldoc --files example.pdf --files example2.pdf --openai --openai-model
|
|
|
100
100
|
|
|
101
101
|
## Advanced Options
|
|
102
102
|
|
|
103
|
+
> [!NOTE]
|
|
104
|
+
> This CLI is mainly for debugging purposes. Although end users can use this CLI to translate files, we do not provide any technical support for this purpose.
|
|
105
|
+
>
|
|
106
|
+
> End users should directly use **Online Service**: Beta version launched [Immersive Translate - BabelDOC](https://app.immersivetranslate.com/babel-doc/) 1000 free pages per month.
|
|
107
|
+
>
|
|
108
|
+
> End users who need self-deployment should use [PDFMathTranslate](https://github.com/Byaidu/PDFMathTranslate)
|
|
109
|
+
>
|
|
110
|
+
> If you find that an option is not listed below, it means that this option is a debugging option for maintainers. Please do not use these options.
|
|
111
|
+
|
|
112
|
+
|
|
103
113
|
### Language Options
|
|
104
114
|
|
|
105
115
|
- `--lang-in`, `-li`: Source language code (default: en)
|
|
@@ -143,7 +153,7 @@ uv run babeldoc --files example.pdf --files example2.pdf --openai --openai-model
|
|
|
143
153
|
|
|
144
154
|
> [!TIP]
|
|
145
155
|
>
|
|
146
|
-
> 1.
|
|
156
|
+
> 1. Currently, only OpenAI-compatible LLM is supported. For more translator support, please use [PDFMathTranslate](https://github.com/Byaidu/PDFMathTranslate).
|
|
147
157
|
> 2. It is recommended to use models with strong compatibility with OpenAI, such as: `glm-4-flash`, `deepseek-chat`, etc.
|
|
148
158
|
> 3. Currently, it has not been optimized for traditional translation engines like Bing/Google, it is recommended to use LLMs.
|
|
149
159
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.6"
|
|
@@ -29,7 +29,7 @@ class ParagraphFinder:
|
|
|
29
29
|
|
|
30
30
|
# 定义项目符号的正则表达式模式
|
|
31
31
|
BULLET_POINT_PATTERN = re.compile(
|
|
32
|
-
r"[
|
|
32
|
+
r"[■•⚫⬤◆◇○●◦‣⁃▪▫∗†‡¹²³⁴⁵⁶⁷⁸⁹⁰₁₂₃₄₅₆₇₈₉₀ᵃᵇᶜᵈᵉᶠᵍʰⁱʲᵏˡᵐⁿᵒᵖᵍʳˢᵗᵘᵛʷˣʸᶻ†‡§¶※⁑⁂⁕⁎⁜⁑❧☙⁋‖‽]"
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
def __init__(self, translation_config: TranslationConfig):
|
|
@@ -417,7 +417,7 @@ class ParagraphFinder:
|
|
|
417
417
|
),
|
|
418
418
|
unicode="",
|
|
419
419
|
debug_id=generate_base58_id(),
|
|
420
|
-
layout_label=
|
|
420
|
+
layout_label=paragraph.layout_label,
|
|
421
421
|
)
|
|
422
422
|
# 更新原段落
|
|
423
423
|
paragraph.pdf_paragraph_composition = (
|
|
@@ -446,7 +446,7 @@ class ParagraphFinder:
|
|
|
446
446
|
),
|
|
447
447
|
unicode="",
|
|
448
448
|
debug_id=generate_base58_id(),
|
|
449
|
-
layout_label=
|
|
449
|
+
layout_label=paragraph.layout_label,
|
|
450
450
|
)
|
|
451
451
|
# 更新原段落
|
|
452
452
|
paragraph.pdf_paragraph_composition = (
|
|
@@ -6,7 +6,6 @@ import unicodedata
|
|
|
6
6
|
from abc import ABC
|
|
7
7
|
from abc import abstractmethod
|
|
8
8
|
|
|
9
|
-
import httpx
|
|
10
9
|
import openai
|
|
11
10
|
from tenacity import retry
|
|
12
11
|
from tenacity import retry_if_exception_type
|
|
@@ -260,52 +259,3 @@ class OpenAITranslator(BaseTranslator):
|
|
|
260
259
|
|
|
261
260
|
def get_rich_text_right_placeholder(self, placeholder_id: int):
|
|
262
261
|
return self.get_formular_placeholder(placeholder_id + 1)
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
class TranslateTranslator(BaseTranslator):
|
|
266
|
-
# https://github.com/openai/openai-python
|
|
267
|
-
name = "openai"
|
|
268
|
-
|
|
269
|
-
def __init__(
|
|
270
|
-
self,
|
|
271
|
-
lang_in,
|
|
272
|
-
lang_out,
|
|
273
|
-
url=None,
|
|
274
|
-
ignore_cache=False,
|
|
275
|
-
):
|
|
276
|
-
super().__init__(lang_in, lang_out, ignore_cache)
|
|
277
|
-
self.client = httpx.Client()
|
|
278
|
-
self.url = url
|
|
279
|
-
|
|
280
|
-
def do_translate(self, text) -> str:
|
|
281
|
-
response = self.client.post(
|
|
282
|
-
self.url,
|
|
283
|
-
json={
|
|
284
|
-
"text": [text],
|
|
285
|
-
"src": "Englih",
|
|
286
|
-
"tgt": "Simplifed Chinese",
|
|
287
|
-
},
|
|
288
|
-
)
|
|
289
|
-
return response.json()["text"][0]
|
|
290
|
-
|
|
291
|
-
def prompt(self, text):
|
|
292
|
-
return [
|
|
293
|
-
{
|
|
294
|
-
"role": "system",
|
|
295
|
-
"content": "You are a professional,authentic machine translation engine.",
|
|
296
|
-
},
|
|
297
|
-
{
|
|
298
|
-
"role": "user",
|
|
299
|
-
"content": f";; Treat next line as plain text input and translate it into {self.lang_out}, output translation ONLY. If translation is unnecessary (e.g. proper nouns, codes, {'{{1}}, etc. '}), return the original text. NO explanations. NO notes. Input:\n\n{text}",
|
|
300
|
-
},
|
|
301
|
-
]
|
|
302
|
-
|
|
303
|
-
def get_formular_placeholder(self, placeholder_id: int):
|
|
304
|
-
return "{{v" + str(placeholder_id) + "}}"
|
|
305
|
-
return "{{" + str(placeholder_id) + "}}"
|
|
306
|
-
|
|
307
|
-
def get_rich_text_left_placeholder(self, placeholder_id: int):
|
|
308
|
-
return self.get_formular_placeholder(placeholder_id)
|
|
309
|
-
|
|
310
|
-
def get_rich_text_right_placeholder(self, placeholder_id: int):
|
|
311
|
-
return self.get_formular_placeholder(placeholder_id + 1)
|
|
@@ -15,7 +15,6 @@ from rich.progress import TimeRemainingColumn
|
|
|
15
15
|
import babeldoc.assets.assets
|
|
16
16
|
import babeldoc.high_level
|
|
17
17
|
from babeldoc.document_il.translator.translator import OpenAITranslator
|
|
18
|
-
from babeldoc.document_il.translator.translator import TranslateTranslator
|
|
19
18
|
from babeldoc.document_il.translator.translator import set_translate_rate_limiter
|
|
20
19
|
from babeldoc.docvision.doclayout import DocLayoutModel
|
|
21
20
|
from babeldoc.docvision.rpc_doclayout import RpcDocLayoutModel
|
|
@@ -23,7 +22,7 @@ from babeldoc.translation_config import TranslationConfig
|
|
|
23
22
|
from babeldoc.translation_config import WatermarkOutputMode
|
|
24
23
|
|
|
25
24
|
logger = logging.getLogger(__name__)
|
|
26
|
-
__version__ = "0.2.
|
|
25
|
+
__version__ = "0.2.6"
|
|
27
26
|
|
|
28
27
|
|
|
29
28
|
def create_parser():
|
|
@@ -194,11 +193,6 @@ def create_parser():
|
|
|
194
193
|
action="store_true",
|
|
195
194
|
help="Use OpenAI translator.",
|
|
196
195
|
)
|
|
197
|
-
service_group.add_argument(
|
|
198
|
-
"--translate",
|
|
199
|
-
action="store_true",
|
|
200
|
-
help="Use translate translator.",
|
|
201
|
-
)
|
|
202
196
|
service_group = parser.add_argument_group(
|
|
203
197
|
"Translation - OpenAI Options",
|
|
204
198
|
description="OpenAI specific options",
|
|
@@ -217,14 +211,6 @@ def create_parser():
|
|
|
217
211
|
"-k",
|
|
218
212
|
help="The API key for the OpenAI API.",
|
|
219
213
|
)
|
|
220
|
-
service_group = parser.add_argument_group(
|
|
221
|
-
"Translation - Translate Options",
|
|
222
|
-
description="Translate specific options",
|
|
223
|
-
)
|
|
224
|
-
service_group.add_argument(
|
|
225
|
-
"--translate-url",
|
|
226
|
-
help="The base URL for the Translation API.",
|
|
227
|
-
)
|
|
228
214
|
|
|
229
215
|
return parser
|
|
230
216
|
|
|
@@ -273,13 +259,6 @@ async def main():
|
|
|
273
259
|
api_key=args.openai_api_key,
|
|
274
260
|
ignore_cache=args.ignore_cache,
|
|
275
261
|
)
|
|
276
|
-
elif args.translate:
|
|
277
|
-
translator = TranslateTranslator(
|
|
278
|
-
lang_in=args.lang_in,
|
|
279
|
-
lang_out=args.lang_out,
|
|
280
|
-
ignore_cache=args.ignore_cache,
|
|
281
|
-
url=args.translate_url,
|
|
282
|
-
)
|
|
283
262
|
else:
|
|
284
263
|
raise ValueError("Invalid translator type")
|
|
285
264
|
|
|
@@ -203,6 +203,7 @@ class PDFPageInterpreterEx(PDFPageInterpreter):
|
|
|
203
203
|
if settings.STRICT:
|
|
204
204
|
raise PDFInterpreterError("No colorspace specified!")
|
|
205
205
|
n = 1
|
|
206
|
+
n = len(self.argstack)
|
|
206
207
|
args = self.pop(n)
|
|
207
208
|
self.il_creater.on_passthrough_per_char("SCN", args)
|
|
208
209
|
self.graphicstate.scolor = cast(Color, args)
|
|
@@ -216,6 +217,7 @@ class PDFPageInterpreterEx(PDFPageInterpreter):
|
|
|
216
217
|
if settings.STRICT:
|
|
217
218
|
raise PDFInterpreterError("No colorspace specified!")
|
|
218
219
|
n = 1
|
|
220
|
+
n = len(self.argstack)
|
|
219
221
|
args = self.pop(n)
|
|
220
222
|
self.il_creater.on_passthrough_per_char("scn", args)
|
|
221
223
|
self.graphicstate.ncolor = cast(Color, args)
|
|
@@ -148,10 +148,14 @@ class ProgressMonitor:
|
|
|
148
148
|
if report_time_delta < self.report_interval and stage.total > 3:
|
|
149
149
|
return
|
|
150
150
|
if self.progress_change_callback:
|
|
151
|
+
if stage.total != 0:
|
|
152
|
+
stage_progress = stage.current * 100 / stage.total
|
|
153
|
+
else:
|
|
154
|
+
stage_progress = 100
|
|
151
155
|
self.progress_change_callback(
|
|
152
156
|
type="progress_update",
|
|
153
157
|
stage=stage.display_name,
|
|
154
|
-
stage_progress=
|
|
158
|
+
stage_progress=stage_progress,
|
|
155
159
|
stage_current=stage.current,
|
|
156
160
|
stage_total=stage.total,
|
|
157
161
|
overall_progress=self.calculate_current_progress(stage),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "BabelDOC"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.6"
|
|
4
4
|
description = "Yet Another Document Translator"
|
|
5
5
|
license = "AGPL-3.0"
|
|
6
6
|
readme = "README.md"
|
|
@@ -136,7 +136,7 @@ pythonpath = [".", "src"]
|
|
|
136
136
|
testpaths = ["tests"]
|
|
137
137
|
|
|
138
138
|
[bumpver]
|
|
139
|
-
current_version = "0.2.
|
|
139
|
+
current_version = "0.2.6"
|
|
140
140
|
version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
|
|
141
141
|
|
|
142
142
|
[bumpver.file_patterns]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.4"
|
|
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
|
{babeldoc-0.2.4 → babeldoc-0.2.6}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py
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
|
{babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md
RENAMED
|
File without changes
|
|
File without changes
|
{babeldoc-0.2.4 → babeldoc-0.2.6}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-big-logo-with-transparent-background.png
RENAMED
|
File without changes
|
{babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-big-logo-with-transparent-background.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-small-logo-with-transparent-background.png
RENAMED
|
File without changes
|
{babeldoc-0.2.4 → babeldoc-0.2.6}/docs/images/babeldoc-small-logo-with-transparent-background.svg
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|