From b0deb63129e04d740133fefa160ae1189c8b26ea Mon Sep 17 00:00:00 2001 From: Lex Berezhny Date: Thu, 10 Jan 2019 18:40:20 -0500 Subject: [PATCH] blob_reflect fix --- lbrynet/extras/daemon/Daemon.py | 5 +++-- lbrynet/extras/reflector/client/blob.py | 11 +++-------- lbrynet/extras/reflector/reupload.py | 2 +- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/lbrynet/extras/daemon/Daemon.py b/lbrynet/extras/daemon/Daemon.py index 4fa1373f5..99bdaf98f 100644 --- a/lbrynet/extras/daemon/Daemon.py +++ b/lbrynet/extras/daemon/Daemon.py @@ -3310,7 +3310,7 @@ class Daemon(metaclass=JSONRPCServerType): return blob_hashes[start_index:stop_index] @requires(BLOB_COMPONENT) - def jsonrpc_blob_reflect(self, blob_hashes, reflector_server=None): + async def jsonrpc_blob_reflect(self, blob_hashes, reflector_server=None): """ Reflects specified blobs @@ -3323,7 +3323,8 @@ class Daemon(metaclass=JSONRPCServerType): Returns: (list) reflected blob hashes """ - return d2f(reupload.reflect_blob_hashes(blob_hashes, self.blob_manager, reflector_server)) + result = await d2f(reupload.reflect_blob_hashes(blob_hashes, self.blob_manager, reflector_server)) + return result @requires(BLOB_COMPONENT) async def jsonrpc_blob_reflect_all(self): diff --git a/lbrynet/extras/reflector/client/blob.py b/lbrynet/extras/reflector/client/blob.py index 38b32b6d0..5355e3896 100644 --- a/lbrynet/extras/reflector/client/blob.py +++ b/lbrynet/extras/reflector/client/blob.py @@ -165,15 +165,10 @@ class BlobReflectorClient(Protocol): blob_hash = self.blob_hashes_to_send[0] log.debug('No current blob, sending the next one: %s', blob_hash) self.blob_hashes_to_send = self.blob_hashes_to_send[1:] - d = self.blob_manager.get_blob(blob_hash) - d.addCallback(self.open_blob_for_reading) + blob = self.blob_manager.get_blob(blob_hash) + self.open_blob_for_reading(blob) # send the server the next blob hash + length - d.addCallbacks( - lambda _: self.send_blob_info(), - errback=log.fail(self.disconnect), - errbackArgs=("Error reflecting blob %s", blob_hash) - ) - return d + return self.send_blob_info() else: # close connection log.debug('No more blob hashes, closing connection') diff --git a/lbrynet/extras/reflector/reupload.py b/lbrynet/extras/reflector/reupload.py index 1a6567d27..9d5a46e58 100644 --- a/lbrynet/extras/reflector/reupload.py +++ b/lbrynet/extras/reflector/reupload.py @@ -45,7 +45,7 @@ def _reflect_blobs(blob_manager, blob_hashes, reflector_server): ip = yield resolve(reflector_address) yield reactor.connectTCP(ip, reflector_port, factory) result = yield factory.finished_deferred - defer.returnValue(result) + return result def reflect_file(lbry_file, reflector_server=None):