BabelDOC 0.2.9__tar.gz → 0.2.11__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 (93) hide show
  1. {babeldoc-0.2.9 → babeldoc-0.2.11}/PKG-INFO +1 -1
  2. babeldoc-0.2.11/babeldoc/__init__.py +1 -0
  3. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/const.py +1 -1
  4. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/high_level.py +32 -28
  5. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/main.py +1 -1
  6. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/progress_monitor.py +5 -0
  7. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/result_merger.py +2 -2
  8. {babeldoc-0.2.9 → babeldoc-0.2.11}/pyproject.toml +2 -2
  9. {babeldoc-0.2.9 → babeldoc-0.2.11}/uv.lock +1 -1
  10. babeldoc-0.2.9/babeldoc/__init__.py +0 -1
  11. {babeldoc-0.2.9 → babeldoc-0.2.11}/.cursorignore +0 -0
  12. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  13. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  14. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/dependabot.yml +0 -0
  15. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/labels.yml +0 -0
  16. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/release-drafter.yml +0 -0
  17. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/workflows/codeql.yml +0 -0
  18. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/workflows/docs.yml +0 -0
  19. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/workflows/labeler.yml +0 -0
  20. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/workflows/publish-to-pypi.yml +0 -0
  21. {babeldoc-0.2.9 → babeldoc-0.2.11}/.github/workflows/test.yml +0 -0
  22. {babeldoc-0.2.9 → babeldoc-0.2.11}/.gitignore +0 -0
  23. {babeldoc-0.2.9 → babeldoc-0.2.11}/.pre-commit-config.yaml +0 -0
  24. {babeldoc-0.2.9 → babeldoc-0.2.11}/LICENSE +0 -0
  25. {babeldoc-0.2.9 → babeldoc-0.2.11}/README.md +0 -0
  26. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/assets/assets.py +0 -0
  27. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  28. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/asynchronize/__init__.py +0 -0
  29. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/converter.py +0 -0
  30. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/__init__.py +0 -0
  31. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  32. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/backend/__init__.py +0 -0
  33. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  34. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/frontend/__init__.py +0 -0
  35. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/frontend/il_creater.py +0 -0
  36. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/il_version_1.py +0 -0
  37. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/il_version_1.rnc +0 -0
  38. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/il_version_1.rng +0 -0
  39. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/il_version_1.xsd +0 -0
  40. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/__init__.py +0 -0
  41. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  42. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  43. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/il_translator.py +0 -0
  44. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/il_translator_llm_only.py +0 -0
  45. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/layout_parser.py +0 -0
  46. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
  47. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/remove_descent.py +0 -0
  48. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  49. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/midend/typesetting.py +0 -0
  50. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/translator/__init__.py +0 -0
  51. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/translator/cache.py +0 -0
  52. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/translator/translator.py +0 -0
  53. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/utils/fontmap.py +0 -0
  54. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/utils/layout_helper.py +0 -0
  55. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/utils/style_helper.py +0 -0
  56. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/document_il/xml_converter.py +0 -0
  57. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/docvision/README.md +0 -0
  58. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/docvision/__init__.py +0 -0
  59. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/docvision/doclayout.py +0 -0
  60. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/docvision/rpc_doclayout.py +0 -0
  61. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/pdfinterp.py +0 -0
  62. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/split_manager.py +0 -0
  63. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/tools/generate_font_metadata.py +0 -0
  64. {babeldoc-0.2.9 → babeldoc-0.2.11}/babeldoc/translation_config.py +0 -0
  65. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/CODE_OF_CONDUCT.md +0 -0
  66. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/CONTRIBUTING.md +0 -0
  67. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/CONTRIBUTOR_REWARD.md +0 -0
  68. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  69. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  70. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  71. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  72. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  73. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/ImplementationDetails/README.md +0 -0
  74. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  75. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  76. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/README.md +0 -0
  77. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/deploy.sh +0 -0
  78. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-banner.png +0 -0
  79. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  80. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  81. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  82. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  83. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-big-logo.png +0 -0
  84. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  85. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-preview.gif +0 -0
  86. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  87. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  88. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/images/babeldoc-small-logo.png +0 -0
  89. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/index.md +0 -0
  90. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/intro-to-pdf-object.md +0 -0
  91. {babeldoc-0.2.9 → babeldoc-0.2.11}/docs/requirements.txt +0 -0
  92. {babeldoc-0.2.9 → babeldoc-0.2.11}/mkdocs.yml +0 -0
  93. {babeldoc-0.2.9 → babeldoc-0.2.11}/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.9
3
+ Version: 0.2.11
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.11"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.2.9"
6
+ __version__ = "0.2.11"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -671,35 +671,39 @@ def generate_first_page_with_watermark(
671
671
 
672
672
  watermarked_config = copy.copy(translation_config)
673
673
  watermarked_config.watermark_output_mode = WatermarkOutputMode.Watermarked
674
- watermarked_config.progress_monitor.disable = True
675
- watermarked_temp_pdf_path = watermarked_config.get_working_file_path(
676
- "watermarked_temp_input.pdf"
677
- )
678
- first_page_doc.save(watermarked_temp_pdf_path)
674
+ try:
675
+ watermarked_config.progress_monitor.disable = True
676
+ watermarked_temp_pdf_path = watermarked_config.get_working_file_path(
677
+ "watermarked_temp_input.pdf"
678
+ )
679
+ first_page_doc.save(watermarked_temp_pdf_path)
679
680
 
680
- Typesetting(watermarked_config).typsetting_document(il_only_first_page_doc)
681
- pdf_creater = PDFCreater(
682
- watermarked_temp_pdf_path.as_posix(), il_only_first_page_doc, watermarked_config
683
- )
684
- result = pdf_creater.write(watermarked_config)
685
- watermarked_config.progress_monitor.disable = False
686
- mono_pdf_bytes = None
687
- dual_pdf_bytes = None
688
- if result.mono_pdf_path:
689
- mono_pdf_bytes = io.BytesIO()
690
- with Path(result.mono_pdf_path).open("rb") as f:
691
- mono_pdf_bytes.write(f.read())
692
- result.mono_pdf_path.unlink()
693
- mono_pdf_bytes.seek(0)
694
-
695
- if result.dual_pdf_path:
696
- dual_pdf_bytes = io.BytesIO()
697
- with Path(result.dual_pdf_path).open("rb") as f:
698
- dual_pdf_bytes.write(f.read())
699
- result.dual_pdf_path.unlink()
700
- dual_pdf_bytes.seek(0)
701
-
702
- return mono_pdf_bytes, dual_pdf_bytes
681
+ Typesetting(watermarked_config).typsetting_document(il_only_first_page_doc)
682
+ pdf_creater = PDFCreater(
683
+ watermarked_temp_pdf_path.as_posix(),
684
+ il_only_first_page_doc,
685
+ watermarked_config,
686
+ )
687
+ result = pdf_creater.write(watermarked_config)
688
+ mono_pdf_bytes = None
689
+ dual_pdf_bytes = None
690
+ if result.mono_pdf_path:
691
+ mono_pdf_bytes = io.BytesIO()
692
+ with Path(result.mono_pdf_path).open("rb") as f:
693
+ mono_pdf_bytes.write(f.read())
694
+ result.mono_pdf_path.unlink()
695
+ mono_pdf_bytes.seek(0)
696
+
697
+ if result.dual_pdf_path:
698
+ dual_pdf_bytes = io.BytesIO()
699
+ with Path(result.dual_pdf_path).open("rb") as f:
700
+ dual_pdf_bytes.write(f.read())
701
+ result.dual_pdf_path.unlink()
702
+ dual_pdf_bytes.seek(0)
703
+
704
+ return mono_pdf_bytes, dual_pdf_bytes
705
+ finally:
706
+ watermarked_config.progress_monitor.disable = False
703
707
 
704
708
 
705
709
  def merge_watermark_doc(
@@ -22,7 +22,7 @@ from babeldoc.translation_config import TranslationConfig
22
22
  from babeldoc.translation_config import WatermarkOutputMode
23
23
 
24
24
  logger = logging.getLogger(__name__)
25
- __version__ = "0.2.9"
25
+ __version__ = "0.2.11"
26
26
 
27
27
 
28
28
  def create_parser():
@@ -95,6 +95,10 @@ class ProgressMonitor:
95
95
 
96
96
  def _handle_part_finish(self, **kwargs):
97
97
  """Handle completion of a part translation"""
98
+ if kwargs["type"] == "error":
99
+ logger.info(f"progress_monitor handle_part_finish: {kwargs['error']}")
100
+ self.finish_callback(type="error", error=kwargs["error"])
101
+ return
98
102
  if "translate_result" in kwargs:
99
103
  part_index = kwargs.get("part_index")
100
104
  if part_index is not None:
@@ -240,6 +244,7 @@ class ProgressMonitor:
240
244
  if self.disable:
241
245
  return
242
246
  if self.finish_callback:
247
+ logger.info(f"progress_monitor handle translate_error: {error}")
243
248
  self.finish_callback(type="error", error=error)
244
249
 
245
250
  def raise_if_cancelled(self):
@@ -62,9 +62,9 @@ class ResultMerger:
62
62
  tag="merged_dual",
63
63
  )
64
64
 
65
- if all(
65
+ if any(
66
66
  r.dual_pdf_path != r.no_watermark_dual_pdf_path
67
- and r.mono_pdf_path != r.no_watermark_mono_pdf_path
67
+ or r.mono_pdf_path != r.no_watermark_mono_pdf_path
68
68
  for r in results.values()
69
69
  ):
70
70
  # Merge no-watermark PDFs if they exist
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.2.9"
3
+ version = "0.2.11"
4
4
  description = "Yet Another Document Translator"
5
5
  license = "AGPL-3.0"
6
6
  readme = "README.md"
@@ -147,7 +147,7 @@ pythonpath = [".", "src"]
147
147
  testpaths = ["tests"]
148
148
 
149
149
  [bumpver]
150
- current_version = "0.2.9"
150
+ current_version = "0.2.11"
151
151
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
152
152
 
153
153
  [bumpver.file_patterns]
@@ -48,7 +48,7 @@ wheels = [
48
48
 
49
49
  [[package]]
50
50
  name = "babeldoc"
51
- version = "0.2.9"
51
+ version = "0.2.11"
52
52
  source = { editable = "." }
53
53
  dependencies = [
54
54
  { name = "bitstring" },
@@ -1 +0,0 @@
1
- __version__ = "0.2.9"
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