Skip to content

Commit 3953dd2

Browse files
committed
fix: close zip file before reading bytes
1 parent 8228d02 commit 3953dd2

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/sasctl/pzmm/zip_model.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,17 @@ def zip_files(
6969
For Viya 3.5 models, ignore score code that is already in place in the file
7070
directory provided. Default value is False.
7171
"""
72+
7273
if isinstance(model_files, dict):
73-
zip_buffer = io.BytesIO()
74-
with zipfile.ZipFile(
75-
zip_buffer, "a", zipfile.ZIP_DEFLATED, False
76-
) as zip_file:
74+
buffer = io.BytesIO()
75+
76+
with zipfile.ZipFile(buffer, "w", zipfile.ZIP_DEFLATED, False) as archive:
7777
for file_name, data in model_files.items():
78-
zip_file.writestr(file_name, data)
79-
return io.BytesIO(zip_buffer.getvalue())
78+
archive.writestr(file_name, data)
79+
80+
# NOTE: bytes are added to the buffer when zip file is closed
81+
# so ensure closed before returning
82+
return buffer
8083
else:
8184
file_names = _filter_files(model_files, is_viya4)
8285
with zipfile.ZipFile(

0 commit comments

Comments
 (0)