BabelDOC 0.2.28__tar.gz → 0.2.30__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.28 → babeldoc-0.2.30}/PKG-INFO +1 -1
  2. babeldoc-0.2.30/babeldoc/__init__.py +1 -0
  3. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/const.py +1 -1
  4. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/il_translator.py +4 -1
  5. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/il_translator_llm_only.py +5 -2
  6. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/styles_and_formulas.py +4 -0
  7. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/high_level.py +3 -0
  8. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/main.py +1 -1
  9. {babeldoc-0.2.28 → babeldoc-0.2.30}/pyproject.toml +2 -2
  10. {babeldoc-0.2.28 → babeldoc-0.2.30}/uv.lock +1 -1
  11. babeldoc-0.2.28/babeldoc/__init__.py +0 -1
  12. {babeldoc-0.2.28 → babeldoc-0.2.30}/.cursorignore +0 -0
  13. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  14. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  15. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/dependabot.yml +0 -0
  16. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/labels.yml +0 -0
  17. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/release-drafter.yml +0 -0
  18. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/workflows/codeql.yml +0 -0
  19. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/workflows/docs.yml +0 -0
  20. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/workflows/labeler.yml +0 -0
  21. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/workflows/publish-to-pypi.yml +0 -0
  22. {babeldoc-0.2.28 → babeldoc-0.2.30}/.github/workflows/test.yml +0 -0
  23. {babeldoc-0.2.28 → babeldoc-0.2.30}/.gitignore +0 -0
  24. {babeldoc-0.2.28 → babeldoc-0.2.30}/.pre-commit-config.yaml +0 -0
  25. {babeldoc-0.2.28 → babeldoc-0.2.30}/LICENSE +0 -0
  26. {babeldoc-0.2.28 → babeldoc-0.2.30}/README.md +0 -0
  27. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/assets/assets.py +0 -0
  28. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  29. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/asynchronize/__init__.py +0 -0
  30. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/converter.py +0 -0
  31. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/__init__.py +0 -0
  32. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  33. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/backend/__init__.py +0 -0
  34. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  35. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/frontend/__init__.py +0 -0
  36. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/frontend/il_creater.py +0 -0
  37. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/il_version_1.py +0 -0
  38. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/il_version_1.rnc +0 -0
  39. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/il_version_1.rng +0 -0
  40. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/il_version_1.xsd +0 -0
  41. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/__init__.py +0 -0
  42. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  43. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  44. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/layout_parser.py +0 -0
  45. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
  46. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/remove_descent.py +0 -0
  47. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/table_parser.py +0 -0
  48. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/midend/typesetting.py +0 -0
  49. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/translator/__init__.py +0 -0
  50. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/translator/cache.py +0 -0
  51. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/translator/translator.py +0 -0
  52. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/utils/atomic_integer.py +0 -0
  53. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/utils/fontmap.py +0 -0
  54. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/utils/layout_helper.py +0 -0
  55. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/utils/priority_thread_pool_executor.py +0 -0
  56. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/utils/style_helper.py +0 -0
  57. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/document_il/xml_converter.py +0 -0
  58. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/docvision/README.md +0 -0
  59. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/docvision/__init__.py +0 -0
  60. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/docvision/doclayout.py +0 -0
  61. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/docvision/rpc_doclayout.py +0 -0
  62. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/docvision/table_detection/rapidocr.py +0 -0
  63. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/pdfinterp.py +0 -0
  64. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/progress_monitor.py +0 -0
  65. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/result_merger.py +0 -0
  66. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/split_manager.py +0 -0
  67. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/tools/generate_font_metadata.py +0 -0
  68. {babeldoc-0.2.28 → babeldoc-0.2.30}/babeldoc/translation_config.py +0 -0
  69. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/CODE_OF_CONDUCT.md +0 -0
  70. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/CONTRIBUTING.md +0 -0
  71. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/CONTRIBUTOR_REWARD.md +0 -0
  72. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  73. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  74. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  75. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  76. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  77. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/ImplementationDetails/README.md +0 -0
  78. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  79. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  80. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/README.md +0 -0
  81. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/deploy.sh +0 -0
  82. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-banner.png +0 -0
  83. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  84. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  85. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  86. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  87. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-big-logo.png +0 -0
  88. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  89. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-preview.gif +0 -0
  90. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  91. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  92. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/images/babeldoc-small-logo.png +0 -0
  93. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/index.md +0 -0
  94. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/intro-to-pdf-object.md +0 -0
  95. {babeldoc-0.2.28 → babeldoc-0.2.30}/docs/requirements.txt +0 -0
  96. {babeldoc-0.2.28 → babeldoc-0.2.30}/mkdocs.yml +0 -0
  97. {babeldoc-0.2.28 → babeldoc-0.2.30}/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.28
3
+ Version: 0.2.30
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.30"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.2.28"
6
+ __version__ = "0.2.30"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -134,7 +134,10 @@ class ILTranslator:
134
134
  self.tokenizer = tokenizer
135
135
 
136
136
  def calc_token_count(self, text: str) -> int:
137
- return len(self.tokenizer.encode(text, disallowed_special=()))
137
+ try:
138
+ return len(self.tokenizer.encode(text, disallowed_special=()))
139
+ except Exception:
140
+ return 0
138
141
 
139
142
  def translate(self, docs: Document):
140
143
  tracker = DocumentTranslateTracker()
@@ -65,7 +65,10 @@ class ILTranslatorLLMOnly:
65
65
  raise ValueError("LLM translator not supported") from e
66
66
 
67
67
  def calc_token_count(self, text: str) -> int:
68
- return len(self.tokenizer.encode(text, disallowed_special=()))
68
+ try:
69
+ return len(self.tokenizer.encode(text, disallowed_special=()))
70
+ except Exception:
71
+ return 0
69
72
 
70
73
  def find_title_paragraph(self, docs: Document) -> PdfParagraph | None:
71
74
  """Find the first paragraph with layout_label 'title' in the document.
@@ -165,7 +168,7 @@ class ILTranslatorLLMOnly:
165
168
  if paragraph.layout_label == "title":
166
169
  self.shared_context_cross_split_part.recent_title_paragraph = paragraph
167
170
 
168
- if total_token_count > 800 or len(paragraphs) > 5:
171
+ if total_token_count > 400 or len(paragraphs) > 5:
169
172
  executor.submit(
170
173
  self.translate_paragraph,
171
174
  BatchParagraph(paragraphs, tracker),
@@ -534,6 +534,10 @@ class StylesAndFormulas:
534
534
  r"|Arial.*"
535
535
  r"|TimesNewRoman.*"
536
536
  r"|SegoeUI.*"
537
+ r"|CMTT9.*"
538
+ r"|CMSL10.*"
539
+ r"|CMTI10.*"
540
+ r"|CMTT10.*"
537
541
  r")$"
538
542
  )
539
543
  if self.translation_config.formular_font_pattern:
@@ -366,6 +366,9 @@ def fix_null_xref(doc: Document) -> None:
366
366
  obj = doc.xref_object(i)
367
367
  if obj == "null":
368
368
  doc.update_object(i, "[]")
369
+ elif obj and "/ASCII85Decode" in obj: # make pdfminer happy
370
+ data = doc.xref_stream(i)
371
+ doc.update_stream(i, data)
369
372
  except Exception:
370
373
  doc.update_object(i, "[]")
371
374
 
@@ -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.28"
26
+ __version__ = "0.2.30"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.2.28"
3
+ version = "0.2.30"
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.28"
151
+ current_version = "0.2.30"
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.28"
51
+ version = "0.2.30"
52
52
  source = { editable = "." }
53
53
  dependencies = [
54
54
  { name = "bitstring" },
@@ -1 +0,0 @@
1
- __version__ = "0.2.28"
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