Skip to content

Commit 72695fc

Browse files
src/__init__.py: added raise_on_repair arg to Document.save().
Allows caller to detect potential data loss in saved file.
1 parent b7a47b3 commit 72695fc

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4670,6 +4670,7 @@ def ez_save(
46704670
preserve_metadata=1,
46714671
use_objstms=1,
46724672
compression_effort=0,
4673+
raise_on_repair=False,
46734674
):
46744675
'''
46754676
Save PDF using some different defaults
@@ -4694,6 +4695,7 @@ def ez_save(
46944695
preserve_metadata=preserve_metadata,
46954696
use_objstms=use_objstms,
46964697
compression_effort=compression_effort,
4698+
raise_on_repair=raise_on_repair,
46974699
)
46984700

46994701
def find_bookmark(self, bm):
@@ -6481,9 +6483,11 @@ def save(
64816483
preserve_metadata=1,
64826484
use_objstms=0,
64836485
compression_effort=0,
6486+
raise_on_repair=False,
64846487
):
64856488
# From %pythonprepend save
64866489
#
6490+
is_repaired_pre = self.is_repaired
64876491
"""Save PDF to file, pathlib.Path or file pointer."""
64886492
if self.is_closed or self.is_encrypted:
64896493
raise ValueError("document closed or encrypted")
@@ -6547,6 +6551,9 @@ def save(
65476551
#log( f'{type(out)=} {type(out.this)=}')
65486552
mupdf.pdf_write_document(pdf, out, opts)
65496553
out.fz_close_output()
6554+
if raise_on_repair:
6555+
if self.is_repaired and not is_repaired_pre:
6556+
raise Exception(f'Document save did a repair')
65506557

65516558
def save_snapshot(self, filename):
65526559
"""Save a file snapshot suitable for journalling."""

0 commit comments

Comments
 (0)