forked from LBRYCommunity/lbry-sdk
use with clause to avoid leaking fds
This commit is contained in:
parent
dbce49e567
commit
11bb1cc7ee
1 changed files with 4 additions and 6 deletions
|
@ -82,11 +82,11 @@ class StreamAssembler:
|
||||||
if not self.got_descriptor.is_set():
|
if not self.got_descriptor.is_set():
|
||||||
self.got_descriptor.set()
|
self.got_descriptor.set()
|
||||||
await self.after_got_descriptor()
|
await self.after_got_descriptor()
|
||||||
self.stream_handle = open(self.output_path, 'wb')
|
|
||||||
await self.blob_manager.storage.store_stream(
|
await self.blob_manager.storage.store_stream(
|
||||||
self.sd_blob, self.descriptor
|
self.sd_blob, self.descriptor
|
||||||
)
|
)
|
||||||
try:
|
with open(self.output_path, 'wb') as stream_handle:
|
||||||
|
self.stream_handle = stream_handle
|
||||||
for blob_info in self.descriptor.blobs[:-1]:
|
for blob_info in self.descriptor.blobs[:-1]:
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
|
@ -101,10 +101,8 @@ class StreamAssembler:
|
||||||
self.descriptor.sd_hash)
|
self.descriptor.sd_hash)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
self.stream_finished_event.set()
|
self.stream_finished_event.set()
|
||||||
await self.after_finished()
|
await self.after_finished()
|
||||||
finally:
|
|
||||||
self.stream_handle.close()
|
|
||||||
|
|
||||||
async def get_blob(self, blob_hash: str, length: typing.Optional[int] = None) -> 'BlobFile':
|
async def get_blob(self, blob_hash: str, length: typing.Optional[int] = None) -> 'BlobFile':
|
||||||
return self.blob_manager.get_blob(blob_hash, length)
|
return self.blob_manager.get_blob(blob_hash, length)
|
||||||
|
|
Loading…
Reference in a new issue