Skip to content

Commit 1a4b1af

Browse files
committed
fixup! PI: Don't load entire file into memory when passed file name
1 parent 9ccce80 commit 1a4b1af

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

pypdf/_reader.py

+1
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ def __init__(
314314

315315
if isinstance(stream, (str, Path)):
316316
stream = open(stream, "rb") # noqa: SIM115
317+
# Wish I could just close stream in __del__ but that fails a test very strangely
317318
weakref.finalize(self, stream.close)
318319

319320
self.read(stream)

tests/test_writer.py

+2
Original file line numberDiff line numberDiff line change
@@ -1234,6 +1234,7 @@ def test_set_page_label(pdf_file_path):
12341234
writer.set_page_label(0, 1, "/A")
12351235
writer.write(pdf_file_path)
12361236
assert PdfReader(pdf_file_path).page_labels[: len(expected)] == expected
1237+
del writer
12371238

12381239
pdf_file_path.unlink()
12391240

@@ -1477,6 +1478,7 @@ def test_update_form_fields(tmp_path):
14771478
)
14781479

14791480
writer.write(write_data_here)
1481+
del writer
14801482
reader = PdfReader(write_data_here)
14811483
flds = reader.get_fields()
14821484
assert flds["CheckBox1"]["/V"] == "/Yes"

0 commit comments

Comments
 (0)