BabelDOC 0.2.21__tar.gz → 0.2.23__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.
Files changed (97) hide show
  1. {babeldoc-0.2.21 → babeldoc-0.2.23}/PKG-INFO +1 -1
  2. babeldoc-0.2.23/babeldoc/__init__.py +1 -0
  3. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/const.py +1 -1
  4. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/il_translator_llm_only.py +7 -4
  5. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/paragraph_finder.py +1 -1
  6. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/high_level.py +11 -4
  7. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/main.py +1 -1
  8. {babeldoc-0.2.21 → babeldoc-0.2.23}/pyproject.toml +2 -2
  9. {babeldoc-0.2.21 → babeldoc-0.2.23}/uv.lock +1 -1
  10. babeldoc-0.2.21/babeldoc/__init__.py +0 -1
  11. {babeldoc-0.2.21 → babeldoc-0.2.23}/.cursorignore +0 -0
  12. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  13. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  14. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/dependabot.yml +0 -0
  15. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/labels.yml +0 -0
  16. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/release-drafter.yml +0 -0
  17. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/workflows/codeql.yml +0 -0
  18. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/workflows/docs.yml +0 -0
  19. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/workflows/labeler.yml +0 -0
  20. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/workflows/publish-to-pypi.yml +0 -0
  21. {babeldoc-0.2.21 → babeldoc-0.2.23}/.github/workflows/test.yml +0 -0
  22. {babeldoc-0.2.21 → babeldoc-0.2.23}/.gitignore +0 -0
  23. {babeldoc-0.2.21 → babeldoc-0.2.23}/.pre-commit-config.yaml +0 -0
  24. {babeldoc-0.2.21 → babeldoc-0.2.23}/LICENSE +0 -0
  25. {babeldoc-0.2.21 → babeldoc-0.2.23}/README.md +0 -0
  26. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/assets/assets.py +0 -0
  27. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  28. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/asynchronize/__init__.py +0 -0
  29. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/converter.py +0 -0
  30. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/__init__.py +0 -0
  31. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  32. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/backend/__init__.py +0 -0
  33. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  34. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/frontend/__init__.py +0 -0
  35. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/frontend/il_creater.py +0 -0
  36. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/il_version_1.py +0 -0
  37. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/il_version_1.rnc +0 -0
  38. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/il_version_1.rng +0 -0
  39. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/il_version_1.xsd +0 -0
  40. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/__init__.py +0 -0
  41. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  42. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  43. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/il_translator.py +0 -0
  44. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/layout_parser.py +0 -0
  45. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/remove_descent.py +0 -0
  46. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  47. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/table_parser.py +0 -0
  48. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/midend/typesetting.py +0 -0
  49. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/translator/__init__.py +0 -0
  50. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/translator/cache.py +0 -0
  51. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/translator/translator.py +0 -0
  52. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/utils/atomic_integer.py +0 -0
  53. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/utils/fontmap.py +0 -0
  54. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/utils/layout_helper.py +0 -0
  55. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
  56. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/utils/style_helper.py +0 -0
  57. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/document_il/xml_converter.py +0 -0
  58. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/docvision/README.md +0 -0
  59. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/docvision/__init__.py +0 -0
  60. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/docvision/doclayout.py +0 -0
  61. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/docvision/rpc_doclayout.py +0 -0
  62. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  63. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/pdfinterp.py +0 -0
  64. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/progress_monitor.py +0 -0
  65. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/result_merger.py +0 -0
  66. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/split_manager.py +0 -0
  67. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/tools/generate_font_metadata.py +0 -0
  68. {babeldoc-0.2.21 → babeldoc-0.2.23}/babeldoc/translation_config.py +0 -0
  69. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/CODE_OF_CONDUCT.md +0 -0
  70. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/CONTRIBUTING.md +0 -0
  71. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/CONTRIBUTOR_REWARD.md +0 -0
  72. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  73. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  74. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  75. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  76. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  77. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/ImplementationDetails/README.md +0 -0
  78. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  79. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  80. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/README.md +0 -0
  81. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/deploy.sh +0 -0
  82. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-banner.png +0 -0
  83. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  84. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  85. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  86. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  87. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-big-logo.png +0 -0
  88. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  89. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-preview.gif +0 -0
  90. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  91. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  92. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/images/babeldoc-small-logo.png +0 -0
  93. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/index.md +0 -0
  94. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/intro-to-pdf-object.md +0 -0
  95. {babeldoc-0.2.21 → babeldoc-0.2.23}/docs/requirements.txt +0 -0
  96. {babeldoc-0.2.21 → babeldoc-0.2.23}/mkdocs.yml +0 -0
  97. {babeldoc-0.2.21 → babeldoc-0.2.23}/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.21
3
+ Version: 0.2.23
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
@@ -0,0 +1 @@
1
+ __version__ = "0.2.23"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.2.21"
6
+ __version__ = "0.2.23"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -205,9 +205,9 @@ class ILTranslatorLLMOnly:
205
205
  ):
206
206
  """Translate a paragraph using pre and post processing functions."""
207
207
  self.translation_config.raise_if_cancelled()
208
+ should_translate_paragraph = []
208
209
  try:
209
210
  inputs = []
210
- should_translate_paragraph = []
211
211
 
212
212
  for i in range(len(batch_paragraph.paragraphs)):
213
213
  paragraph = batch_paragraph.paragraphs[i]
@@ -218,11 +218,10 @@ class ILTranslatorLLMOnly:
218
218
  if text is None:
219
219
  pbar.advance(1)
220
220
  continue
221
- should_translate_paragraph.append(paragraph)
221
+ should_translate_paragraph.append(i)
222
222
  inputs.append((text, translate_input, paragraph, tracker))
223
223
  if not inputs:
224
224
  return
225
- batch_paragraph = should_translate_paragraph
226
225
  json_format_input = []
227
226
 
228
227
  for id_, input_text in enumerate(inputs):
@@ -374,7 +373,11 @@ class ILTranslatorLLMOnly:
374
373
 
375
374
  except Exception as e:
376
375
  logger.warning(f"Error {e} during translation. try fallback")
377
- for i in range(len(batch_paragraph.paragraphs)):
376
+ if not should_translate_paragraph:
377
+ should_translate_paragraph = list(
378
+ range(len(batch_paragraph.paragraphs))
379
+ )
380
+ for i in should_translate_paragraph:
378
381
  paragraph = batch_paragraph.paragraphs[i]
379
382
  tracker = batch_paragraph.trackers[i]
380
383
  if paragraph.debug_id is None:
@@ -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):
@@ -646,11 +646,18 @@ def _do_translate_single(
646
646
  )
647
647
  mono_watermark_first_page_doc_bytes = None
648
648
  dual_watermark_first_page_doc_bytes = None
649
-
650
- if translation_config.watermark_output_mode == WatermarkOutputMode.Both:
651
- mono_watermark_first_page_doc_bytes, dual_watermark_first_page_doc_bytes = (
652
- generate_first_page_with_watermark(doc_pdf2zh, translation_config, docs)
649
+ try:
650
+ if translation_config.watermark_output_mode == WatermarkOutputMode.Both:
651
+ mono_watermark_first_page_doc_bytes, dual_watermark_first_page_doc_bytes = (
652
+ generate_first_page_with_watermark(doc_pdf2zh, translation_config, docs)
653
+ )
654
+ except Exception:
655
+ logger.warning(
656
+ "Failed to generate watermark for first page, using no watermark"
653
657
  )
658
+ translation_config.watermark_output_mode = WatermarkOutputMode.NoWatermark
659
+ mono_watermark_first_page_doc_bytes = None
660
+ dual_watermark_first_page_doc_bytes = None
654
661
 
655
662
  Typesetting(translation_config).typsetting_document(docs)
656
663
  logger.debug(f"finish typsetting from {temp_pdf_path}")
@@ -23,7 +23,7 @@ from babeldoc.translation_config import TranslationConfig
23
23
  from babeldoc.translation_config import WatermarkOutputMode
24
24
 
25
25
  logger = logging.getLogger(__name__)
26
- __version__ = "0.2.21"
26
+ __version__ = "0.2.23"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.2.21"
3
+ version = "0.2.23"
4
4
  description = "Yet Another Document Translator"
5
5
  license = "AGPL-3.0"
6
6
  readme = "README.md"
@@ -148,7 +148,7 @@ pythonpath = [".", "src"]
148
148
  testpaths = ["tests"]
149
149
 
150
150
  [bumpver]
151
- current_version = "0.2.21"
151
+ current_version = "0.2.23"
152
152
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
153
153
 
154
154
  [bumpver.file_patterns]
@@ -48,7 +48,7 @@ wheels = [
48
48
 
49
49
  [[package]]
50
50
  name = "babeldoc"
51
- version = "0.2.21"
51
+ version = "0.2.23"
52
52
  source = { editable = "." }
53
53
  dependencies = [
54
54
  { name = "bitstring" },
@@ -1 +0,0 @@
1
- __version__ = "0.2.21"
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