Skip to content

Commit 2716f24

Browse files
committed
Fix GMN getChecksum
Requests no longer returns a context manager for response streams.
1 parent b7d36e6 commit 2716f24

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

gmn/src/d1_gmn/app/views/external.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,10 +255,10 @@ def get_checksum(request, pid):
255255
)
256256

257257
sciobj_model = d1_gmn.app.models.ScienceObject.objects.get(pid__did=pid)
258-
with _get_sciobj_iter(sciobj_model) as sciobj_iter:
259-
checksum_obj = d1_common.checksum.create_checksum_object_from_iterator(
260-
sciobj_iter, algorithm
261-
)
258+
sciobj_iter = _get_sciobj_iter(sciobj_model)
259+
checksum_obj = d1_common.checksum.create_checksum_object_from_iterator(
260+
sciobj_iter, algorithm
261+
)
262262
# Log the access of this object.
263263
# TODO: look into log type other than 'read'
264264
d1_gmn.app.event_log.log_read_event(pid, request)

lib_common/src/d1_common/iter/stream.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@ def __enter__(self):
4646
return self
4747

4848
def __exit__(self, type, value, traceback):
49-
if hasattr(self._stream, "close"):
50-
self._stream.close()
49+
self.close()
5150

5251
def __iter__(self):
5352
"""Returns: Chunks of ``read()`` on stream.
@@ -59,6 +58,7 @@ def __iter__(self):
5958
while True:
6059
chunk_str = self._stream.read(self._chunk_size)
6160
if not chunk_str:
61+
self.close()
6262
break
6363
yield chunk_str
6464

@@ -78,3 +78,7 @@ def size(self):
7878
size = self._stream.seek(0, os.SEEK_END)
7979
self._stream.seek(cur_pos)
8080
return size
81+
82+
def close(self):
83+
if hasattr(self._stream, "close"):
84+
self._stream.close()

0 commit comments

Comments
 (0)