diff options
author | Victor Shyba <victor1984@riseup.net> | 2017-09-11 18:24:06 -0300 |
---|---|---|
committer | Victor Shyba <victor1984@riseup.net> | 2017-09-11 18:24:06 -0300 |
commit | 855ab772a800c522cca58e67140f833fa7815034 (patch) | |
tree | 27fe5513224ab9a756e521cba733a09c8acad8ff | |
parent | 0d7bf3133c0d64ef3d52f33cb21fb8e76a3ac69d (diff) |
[bug] close consumer on FileBodyProducer
It isn't closed by Twisted like the producer is.
-- Resolves: #8924
-- Related: #8932
-rw-r--r-- | src/leap/soledad/client/_db/blobs.py | 3 | ||||
-rw-r--r-- | src/leap/soledad/server/_blobs.py | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/leap/soledad/client/_db/blobs.py b/src/leap/soledad/client/_db/blobs.py index 0374ae94..cfabda74 100644 --- a/src/leap/soledad/client/_db/blobs.py +++ b/src/leap/soledad/client/_db/blobs.py @@ -469,7 +469,8 @@ class SQLiteBlobBackend(object): # have a look at how treq does cope with closing the handle # for uploading a file producer = FileBodyProducer(blob_fd) - done = yield producer.startProducing(handle) + with handle: + done = yield producer.startProducing(handle) logger.info("Finished saving blob in local database.") defer.returnValue(done) diff --git a/src/leap/soledad/server/_blobs.py b/src/leap/soledad/server/_blobs.py index f7db9218..790a9b51 100644 --- a/src/leap/soledad/server/_blobs.py +++ b/src/leap/soledad/server/_blobs.py @@ -121,7 +121,8 @@ class FilesystemBlobsBackend(object): defer.returnValue(None) logger.info('writing blob: %s - %s' % (user, blob_id)) fbp = FileBodyProducer(request.content) - yield fbp.startProducing(open(path, 'wb')) + with open(path, 'wb') as blobfile: + yield fbp.startProducing(blobfile) def delete_blob(self, user, blob_id, namespace=''): blob_path = self._get_path(user, blob_id, namespace) |