From c3b8f366edba1d35b49a65404193435b691fc0b9 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Sun, 26 Apr 2020 06:26:08 -0300 Subject: [PATCH] fixes from review --- lbry/extras/daemon/json_response_encoder.py | 67 ++++++++++++++------- 1 file changed, 46 insertions(+), 21 deletions(-) diff --git a/lbry/extras/daemon/json_response_encoder.py b/lbry/extras/daemon/json_response_encoder.py index 7997eba0f..99d487cd2 100644 --- a/lbry/extras/daemon/json_response_encoder.py +++ b/lbry/extras/daemon/json_response_encoder.py @@ -127,9 +127,7 @@ class JSONResponseEncoder(JSONEncoder): return self.encode_account(obj) if isinstance(obj, Wallet): return self.encode_wallet(obj) - if isinstance(obj, ManagedStream): - return self.encode_file(obj) - if isinstance(obj, TorrentSource): + if isinstance(obj, (ManagedStream, TorrentSource)): return self.encode_file(obj) if isinstance(obj, Transaction): return self.encode_transaction(obj) @@ -282,26 +280,26 @@ class JSONResponseEncoder(JSONEncoder): total_bytes = managed_stream.descriptor.upper_bound_decrypted_length() else: total_bytes_lower_bound = total_bytes = managed_stream.torrent_length - return { - 'streaming_url': managed_stream.stream_url if is_stream else f'file://{managed_stream.full_path}', + result = { + 'streaming_url': None, 'completed': managed_stream.completed, - 'file_name': managed_stream.file_name if output_exists else None, - 'download_directory': managed_stream.download_directory if output_exists else None, - 'download_path': managed_stream.full_path if output_exists else None, + 'file_name': None, + 'download_directory': None, + 'download_path': None, 'points_paid': 0.0, 'stopped': not managed_stream.running, - 'stream_hash': managed_stream.stream_hash if is_stream else None, - 'stream_name': managed_stream.descriptor.stream_name if is_stream else None, - 'suggested_file_name': managed_stream.descriptor.suggested_file_name if is_stream else None, - 'sd_hash': managed_stream.descriptor.sd_hash if is_stream else None, - 'mime_type': managed_stream.mime_type if is_stream else None, - 'key': managed_stream.descriptor.key if is_stream else None, + 'stream_hash': None, + 'stream_name': None, + 'suggested_file_name': None, + 'sd_hash': None, + 'mime_type': None, + 'key': None, 'total_bytes_lower_bound': total_bytes_lower_bound, 'total_bytes': total_bytes, - 'written_bytes': managed_stream.written_bytes if is_stream else managed_stream.written_bytes, - 'blobs_completed': managed_stream.blobs_completed if is_stream else None, - 'blobs_in_stream': managed_stream.blobs_in_stream if is_stream else None, - 'blobs_remaining': managed_stream.blobs_remaining if is_stream else None, + 'written_bytes': managed_stream.written_bytes, + 'blobs_completed': None, + 'blobs_in_stream': None, + 'blobs_remaining': None, 'status': managed_stream.status, 'claim_id': managed_stream.claim_id, 'txid': managed_stream.txid, @@ -318,10 +316,37 @@ class JSONResponseEncoder(JSONEncoder): 'height': tx_height, 'confirmations': (best_height + 1) - tx_height if tx_height > 0 else tx_height, 'timestamp': self.ledger.headers.estimated_timestamp(tx_height), - 'is_fully_reflected': managed_stream.is_fully_reflected if is_stream else False, - 'reflector_progress': managed_stream.reflector_progress if is_stream else False, - 'uploading_to_reflector': managed_stream.uploading_to_reflector if is_stream else False + 'is_fully_reflected': False, + 'reflector_progress': False, + 'uploading_to_reflector': False } + if is_stream: + result.update({ + 'streaming_url': managed_stream.stream_url, + 'stream_hash': managed_stream.stream_hash, + 'stream_name': managed_stream.descriptor.stream_name, + 'suggested_file_name': managed_stream.descriptor.suggested_file_name, + 'sd_hash': managed_stream.descriptor.sd_hash, + 'mime_type': managed_stream.mime_type, + 'key': managed_stream.descriptor.key, + 'blobs_completed': managed_stream.blobs_completed, + 'blobs_in_stream': managed_stream.blobs_in_stream, + 'blobs_remaining': managed_stream.blobs_remaining, + 'is_fully_reflected': managed_stream.is_fully_reflected, + 'reflector_progress': managed_stream.reflector_progress, + 'uploading_to_reflector': managed_stream.uploading_to_reflector + }) + else: + result.update({ + 'streaming_url': f'file://{managed_stream.full_path}', + }) + if output_exists: + result.update({ + 'file_name': managed_stream.file_name, + 'download_directory': managed_stream.download_directory, + 'download_path': managed_stream.full_path, + }) + return result def encode_claim(self, claim): encoded = getattr(claim, claim.claim_type).to_dict()