From 679c2f403f1707758bec615be80d82aad5a56dee Mon Sep 17 00:00:00 2001 From: Jack Robison Date: Thu, 22 Mar 2018 13:23:12 -0400 Subject: [PATCH] fix incorrectly raised DownloadCanceledError for already verified blobs -make InvalidDataError message clearer -fix BlobReflectorClient result --- CHANGELOG.md | 2 +- lbrynet/blob/blob_file.py | 15 ++++++++------- lbrynet/reflector/client/blob.py | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f6cedba1..e48e44f4c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,7 +21,7 @@ at anytime. * ### Changed - * + * incorrectly raised download cancelled error for already verified blob files * ### Added diff --git a/lbrynet/blob/blob_file.py b/lbrynet/blob/blob_file.py index df17b25b5..709a33df0 100644 --- a/lbrynet/blob/blob_file.py +++ b/lbrynet/blob/blob_file.py @@ -176,17 +176,18 @@ class BlobFile(object): d.addCallbacks(lambda _: fire_finished_deferred(), errback_finished_deferred) d.addCallback(lambda _: cancel_other_downloads()) else: - errback_finished_deferred(Failure(DownloadCanceledError())) - d = defer.succeed(True) + d = defer.succeed(None) + fire_finished_deferred() else: - err_string = "length vs expected: {0}, {1}, hash vs expected: {2}, {3}" - err_string = err_string.format(self.length, writer.len_so_far, self.blob_hash, - writer.blob_hash) + if writer.len_so_far != self.length: + err_string = "blob length is %i vs expected %i" % (writer.len_so_far, self.length) + else: + err_string = "blob hash is %s vs expected %s" % (writer.blob_hash, self.blob_hash) errback_finished_deferred(Failure(InvalidDataError(err_string))) - d = defer.succeed(True) + d = defer.succeed(None) else: errback_finished_deferred(err) - d = defer.succeed(True) + d = defer.succeed(None) d.addBoth(lambda _: writer.close_handle()) return d diff --git a/lbrynet/reflector/client/blob.py b/lbrynet/reflector/client/blob.py index d2c41ce30..66406e2d0 100644 --- a/lbrynet/reflector/client/blob.py +++ b/lbrynet/reflector/client/blob.py @@ -49,7 +49,7 @@ class BlobReflectorClient(Protocol): self.factory.sent_blobs = self.sent_blobs if self.factory.sent_blobs: log.info('Finished sending data via reflector') - self.factory.finished_deferred.callback(True) + self.factory.finished_deferred.callback(self.factory.sent_blobs) else: log.info('Reflector finished: %s', reason) self.factory.finished_deferred.callback(reason)