BabelDOC 0.2.2__tar.gz → 0.2.4__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 (91) hide show
  1. {babeldoc-0.2.2 → babeldoc-0.2.4}/PKG-INFO +1 -1
  2. babeldoc-0.2.4/babeldoc/__init__.py +1 -0
  3. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/const.py +1 -1
  4. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/il_translator_llm_only.py +8 -2
  5. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/typesetting.py +11 -5
  6. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/high_level.py +5 -2
  7. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/main.py +1 -1
  8. {babeldoc-0.2.2 → babeldoc-0.2.4}/pyproject.toml +2 -2
  9. {babeldoc-0.2.2 → babeldoc-0.2.4}/uv.lock +1 -1
  10. babeldoc-0.2.2/babeldoc/__init__.py +0 -1
  11. {babeldoc-0.2.2 → babeldoc-0.2.4}/.cursorignore +0 -0
  12. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/ISSUE_TEMPLATE/bug_report.yaml +0 -0
  13. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/ISSUE_TEMPLATE/feature_request.yaml +0 -0
  14. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/dependabot.yml +0 -0
  15. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/labels.yml +0 -0
  16. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/release-drafter.yml +0 -0
  17. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/workflows/codeql.yml +0 -0
  18. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/workflows/docs.yml +0 -0
  19. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/workflows/labeler.yml +0 -0
  20. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/workflows/publish-to-pypi.yml +0 -0
  21. {babeldoc-0.2.2 → babeldoc-0.2.4}/.github/workflows/test.yml +0 -0
  22. {babeldoc-0.2.2 → babeldoc-0.2.4}/.gitignore +0 -0
  23. {babeldoc-0.2.2 → babeldoc-0.2.4}/.pre-commit-config.yaml +0 -0
  24. {babeldoc-0.2.2 → babeldoc-0.2.4}/LICENSE +0 -0
  25. {babeldoc-0.2.2 → babeldoc-0.2.4}/README.md +0 -0
  26. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/assets/assets.py +0 -0
  27. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/assets/embedding_assets_metadata.py +0 -0
  28. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/asynchronize/__init__.py +0 -0
  29. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/converter.py +0 -0
  30. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/__init__.py +0 -0
  31. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/babeldoc_exception/BabelDOCException.py +0 -0
  32. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/backend/__init__.py +0 -0
  33. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/backend/pdf_creater.py +0 -0
  34. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/frontend/__init__.py +0 -0
  35. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/frontend/il_creater.py +0 -0
  36. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/il_version_1.py +0 -0
  37. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/il_version_1.rnc +0 -0
  38. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/il_version_1.rng +0 -0
  39. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/il_version_1.xsd +0 -0
  40. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/__init__.py +0 -0
  41. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/add_debug_information.py +0 -0
  42. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/detect_scanned_file.py +0 -0
  43. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/il_translator.py +0 -0
  44. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/layout_parser.py +0 -0
  45. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/paragraph_finder.py +0 -0
  46. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/remove_descent.py +0 -0
  47. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/midend/styles_and_formulas.py +0 -0
  48. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/translator/__init__.py +0 -0
  49. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/translator/cache.py +0 -0
  50. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/translator/translator.py +0 -0
  51. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/utils/fontmap.py +0 -0
  52. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/utils/layout_helper.py +0 -0
  53. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/utils/style_helper.py +0 -0
  54. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/document_il/xml_converter.py +0 -0
  55. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/docvision/README.md +0 -0
  56. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/docvision/__init__.py +0 -0
  57. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/docvision/doclayout.py +0 -0
  58. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/docvision/rpc_doclayout.py +0 -0
  59. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/pdfinterp.py +0 -0
  60. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/progress_monitor.py +0 -0
  61. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/tools/generate_font_metadata.py +0 -0
  62. {babeldoc-0.2.2 → babeldoc-0.2.4}/babeldoc/translation_config.py +0 -0
  63. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/CODE_OF_CONDUCT.md +0 -0
  64. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/CONTRIBUTING.md +0 -0
  65. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/CONTRIBUTOR_REWARD.md +0 -0
  66. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/ImplementationDetails/AsyncTranslate/AsyncTranslate.md +0 -0
  67. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/ImplementationDetails/ILTranslator/ILTranslator.md +0 -0
  68. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/ImplementationDetails/PDFCreation/PDFCreation.md +0 -0
  69. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/ImplementationDetails/PDFParsing/PDFParsing.md +0 -0
  70. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/ImplementationDetails/ParagraphFinding/ParagraphFinding.md +0 -0
  71. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/ImplementationDetails/README.md +0 -0
  72. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/ImplementationDetails/StylesAndFormulas/StylesAndFormulas.md +0 -0
  73. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/ImplementationDetails/Typesetting/Typesetting.md +0 -0
  74. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/README.md +0 -0
  75. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/deploy.sh +0 -0
  76. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-banner.png +0 -0
  77. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.png +0 -0
  78. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-big-logo-darkmode-with-transparent-background.svg +0 -0
  79. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-big-logo-with-transparent-background.png +0 -0
  80. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-big-logo-with-transparent-background.svg +0 -0
  81. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-big-logo.png +0 -0
  82. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-contributor_reward_example.png +0 -0
  83. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-preview.gif +0 -0
  84. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-small-logo-with-transparent-background.png +0 -0
  85. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-small-logo-with-transparent-background.svg +0 -0
  86. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/images/babeldoc-small-logo.png +0 -0
  87. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/index.md +0 -0
  88. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/intro-to-pdf-object.md +0 -0
  89. {babeldoc-0.2.2 → babeldoc-0.2.4}/docs/requirements.txt +0 -0
  90. {babeldoc-0.2.2 → babeldoc-0.2.4}/mkdocs.yml +0 -0
  91. {babeldoc-0.2.2 → babeldoc-0.2.4}/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.2
3
+ Version: 0.2.4
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.4"
@@ -3,7 +3,7 @@ import shutil
3
3
  import subprocess
4
4
  from pathlib import Path
5
5
 
6
- __version__ = "0.2.2"
6
+ __version__ = "0.2.4"
7
7
 
8
8
  CACHE_FOLDER = Path.home() / ".cache" / "babeldoc"
9
9
 
@@ -79,7 +79,13 @@ class ILTranslatorLLMOnly:
79
79
  # count total paragraph
80
80
  total = sum(
81
81
  [
82
- len([p for p in page.pdf_paragraph if p.debug_id is not None])
82
+ len(
83
+ [
84
+ p
85
+ for p in page.pdf_paragraph
86
+ if p.debug_id is not None and p.unicode is not None
87
+ ]
88
+ )
83
89
  for page in docs.page
84
90
  ]
85
91
  )
@@ -134,7 +140,7 @@ class ILTranslatorLLMOnly:
134
140
 
135
141
  total_unicode_counts = 0
136
142
  for paragraph in page.pdf_paragraph:
137
- if paragraph.debug_id is None:
143
+ if paragraph.debug_id is None or paragraph.unicode is None:
138
144
  continue
139
145
  # self.translate_paragraph(paragraph, pbar,tracker.new_paragraph(), page_font_map, page_xobj_font_map)
140
146
  total_unicode_counts += len(paragraph.unicode)
@@ -854,9 +854,15 @@ class Typesetting:
854
854
  ],
855
855
  )
856
856
  elif composition.pdf_same_style_unicode_characters:
857
- font_id = (
858
- composition.pdf_same_style_unicode_characters.pdf_style.font_id
859
- )
857
+ style = composition.pdf_same_style_unicode_characters.pdf_style
858
+ if style is None:
859
+ logger.warning(
860
+ f"Style is None. "
861
+ f"Composition: {composition}. "
862
+ f"Paragraph: {paragraph}. ",
863
+ )
864
+ continue
865
+ font_id = style.font_id
860
866
  font = get_font(font_id, paragraph.xobj_id)
861
867
  result.extend(
862
868
  [
@@ -867,8 +873,8 @@ class Typesetting:
867
873
  char_unicode,
868
874
  ),
869
875
  original_font=font,
870
- font_size=composition.pdf_same_style_unicode_characters.pdf_style.font_size,
871
- style=composition.pdf_same_style_unicode_characters.pdf_style,
876
+ font_size=style.font_size,
877
+ style=style,
872
878
  xobj_id=paragraph.xobj_id,
873
879
  debug_info=composition.pdf_same_style_unicode_characters.debug_info,
874
880
  )
@@ -304,8 +304,11 @@ def do_translate(pm, translation_config):
304
304
 
305
305
  # 修复 pdf 文件中 xref 为 null 的情况
306
306
  for i in range(1, doc_pdf2zh.xref_length()):
307
- if doc_pdf2zh.xref_object(i) == "null":
308
- doc_pdf2zh.update_object(i, "null")
307
+ try:
308
+ if doc_pdf2zh.xref_object(i) == "null":
309
+ doc_pdf2zh.update_object(i, "null")
310
+ except Exception:
311
+ logger.warning(f"try fix xref {i} fail, continue")
309
312
 
310
313
  for page in doc_pdf2zh:
311
314
  page.insert_font(resfont, None)
@@ -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.2"
26
+ __version__ = "0.2.4"
27
27
 
28
28
 
29
29
  def create_parser():
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "BabelDOC"
3
- version = "0.2.2"
3
+ version = "0.2.4"
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.2"
139
+ current_version = "0.2.4"
140
140
  version_pattern = "MAJOR.MINOR.PATCH[.PYTAGNUM]"
141
141
 
142
142
  [bumpver.file_patterns]
@@ -48,7 +48,7 @@ wheels = [
48
48
 
49
49
  [[package]]
50
50
  name = "babeldoc"
51
- version = "0.2.2"
51
+ version = "0.2.4"
52
52
  source = { editable = "." }
53
53
  dependencies = [
54
54
  { name = "bitstring" },
@@ -1 +0,0 @@
1
- __version__ = "0.2.2"
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