diff --git a/lbry/extras/daemon/daemon.py b/lbry/extras/daemon/daemon.py index 781cafc8e..9d0f8d061 100644 --- a/lbry/extras/daemon/daemon.py +++ b/lbry/extras/daemon/daemon.py @@ -2515,7 +2515,6 @@ class Daemon(metaclass=JSONRPCServerType): wallet = self.wallet_manager.get_wallet_or_default(kwargs.pop('wallet_id', None)) kwargs.update({'offset': page_size * (page_num - 1), 'limit': page_size}) txos, blocked, _, total = await self.ledger.claim_search(wallet.accounts, **kwargs) - print(len(txos)) result = { "items": txos, "blocked": blocked, diff --git a/lbry/testcase.py b/lbry/testcase.py index 79c6e315c..1549d4809 100644 --- a/lbry/testcase.py +++ b/lbry/testcase.py @@ -639,11 +639,6 @@ class CommandTestCase(IntegrationTestCase): return await self.out(self.daemon.jsonrpc_txo_plot(*args, **kwargs)) async def claim_list(self, *args, **kwargs): - if os.environ.get("GO_HUB") and os.environ.get("GO_HUB") == "true": - kwargs['new_sdk_server'] = "localhost:50051" - kwargs = fix_kwargs_for_hub(**kwargs) - res = await self.out(self.hub.claim_search(**kwargs)) - return res return (await self.out(self.daemon.jsonrpc_claim_list(*args, **kwargs)))['items'] async def stream_list(self, *args, **kwargs): diff --git a/lbry/wallet/ledger.py b/lbry/wallet/ledger.py index 1b4f2e156..7fb7069eb 100644 --- a/lbry/wallet/ledger.py +++ b/lbry/wallet/ledger.py @@ -1,4 +1,3 @@ -import base64 import os import copy import time @@ -772,15 +771,11 @@ class Ledger(metaclass=LedgerRegistry): include_received_tips=False, hub_server=False) -> Tuple[List[Output], dict, int, int]: encoded_outputs = await query - # log.warning(base64.b64decode(encoded_outputs)) - # if os.environ.get("GO_HUB") and os.environ.get("GO_HUB") == "true": if hub_server: outputs = Outputs.from_grpc(encoded_outputs) else: outputs = Outputs.from_base64(encoded_outputs or b'') # TODO: why is the server returning None? txs: List[Transaction] = [] - log.warning(outputs) - log.warning(outputs.txs) if len(outputs.txs) > 0: async for tx in self.request_transactions(tuple(outputs.txs), cached=True): txs.extend(tx.values()) diff --git a/lbry/wallet/network.py b/lbry/wallet/network.py index d20c7df51..65873b824 100644 --- a/lbry/wallet/network.py +++ b/lbry/wallet/network.py @@ -1,6 +1,7 @@ import logging import asyncio import json +import os import socket import random from time import perf_counter @@ -478,15 +479,15 @@ class Network: return result['result'] async def new_claim_search(self, server, **kwargs): - if "offset" in kwargs and type(kwargs["offset"]) == int: - kwargs["offset"] = {"value": kwargs["offset"]} - if "limit" in kwargs and type(kwargs["limit"]) == int: - kwargs["limit"] = {"value": kwargs["limit"]} - async with grpc.aio.insecure_channel(server) as channel: - stub = hub_pb2_grpc.HubStub(channel) - log.warning(kwargs) - response = await stub.Search(SearchRequest(**kwargs)) - return response + if os.environ.get("GO_HUB") and os.environ.get("GO_HUB") == "true": + if "offset" in kwargs and type(kwargs["offset"]) == int: + kwargs["offset"] = {"value": kwargs["offset"]} + if "limit" in kwargs and type(kwargs["limit"]) == int: + kwargs["limit"] = {"value": kwargs["limit"]} + async with grpc.aio.insecure_channel(server) as channel: + stub = hub_pb2_grpc.HubStub(channel) + response = await stub.Search(SearchRequest(**kwargs)) + return response kwargs['protobuf'] = True message = {"method": "claim_search", "params": kwargs} diff --git a/lbry/wallet/orchstr8/node.py b/lbry/wallet/orchstr8/node.py index 2b6ef7eca..36eb15689 100644 --- a/lbry/wallet/orchstr8/node.py +++ b/lbry/wallet/orchstr8/node.py @@ -497,7 +497,7 @@ def fix_kwargs_for_hub(**kwargs): "fee_currency", "media_type", "stream_type", "claim_type", "description", "author", "title", "canonical_url", "short_url", "claim_id"} value_fields = {"offset", "limit", "has_channel_signature", "has_source", "has_no_source", - "limit_claims_per_channel", "tx_nout", + "limit_claims_per_channel", "tx_nout", "remove_duplicates", "signature_valid", "is_controlling", "amount_order"} ops = {'<=': 'lte', '>=': 'gte', '<': 'lt', '>': 'gt'} for key in list(kwargs.keys()): diff --git a/tests/integration/hub/test_hub_commands.py b/tests/integration/hub/test_hub_commands.py index 9385173e2..dddcc71f6 100644 --- a/tests/integration/hub/test_hub_commands.py +++ b/tests/integration/hub/test_hub_commands.py @@ -73,10 +73,10 @@ class ClaimSearchCommand(ClaimTestCase): if os.environ.get("GO_HUB") and os.environ["GO_HUB"] == "true": kwargs['new_sdk_server'] = self.hub.hostname + ":" + str(self.hub.rpcport) results = await self.claim_search(**kwargs) + # for claim, result in zip(claims, results): + # print((claim['txid'], self.get_claim_id(claim)), + # (result['txid'], result['claim_id'], result['height'])) self.assertEqual(len(claims), len(results)) - for claim, result in zip(claims, results): - print((claim['txid'], self.get_claim_id(claim)), - (result['txid'], result['claim_id'], result['height'])) for claim, result in zip(claims, results): self.assertEqual( (claim['txid'], self.get_claim_id(claim)), @@ -95,7 +95,7 @@ class ClaimSearchCommand(ClaimTestCase): # f"(expected {claim['outputs'][0]['name']}) != (got {result['name']})" # ) - @skip("okay") + # @skip("okay") async def test_basic_claim_search(self): await self.create_channel() channel_txo = self.channel['outputs'][0] @@ -180,7 +180,7 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims([three], claim_id=self.get_claim_id(three)) await self.assertFindsClaims([three], claim_id=self.get_claim_id(three), text='*') - @skip("okay") + # @skip("okay") async def test_source_filter(self): channel = await self.channel_create('@abc') no_source = await self.stream_create('no-source', data=None) @@ -195,22 +195,19 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims([channel_repost, no_source_repost, normal_repost, normal, no_source, channel]) # await self.assertListsClaims([channel_repost, no_source_repost, normal_repost, normal, no_source, channel]) - @skip("Okay???") + # @skip("okay") async def test_pagination(self): await self.create_channel() await self.create_lots_of_streams() channel_id = (await self.daemon.jsonrpc_resolve(f"@abc"))["@abc"].claim_id - # FIXME: this doesn't work when jsonrpc_claim_search is called directly - new_sdk_server = self.hub.hostname + ":" + str(self.hub.rpcport) # with and without totals - results = await self.daemon.jsonrpc_claim_search(new_sdk_server=new_sdk_server) + results = await self.daemon.jsonrpc_claim_search() self.assertEqual(results['total_pages'], 2) self.assertEqual(results['total_items'], 25) - # FIXME: Do we still need to support this? - # results = await self.daemon.jsonrpc_claim_search(no_totals=True, new_sdk_server=new_sdk_server) - # self.assertNotIn('total_pages', results) - # self.assertNotIn('total_items', results) + results = await self.daemon.jsonrpc_claim_search(no_totals=True) + self.assertNotIn('total_pages', results) + self.assertNotIn('total_items', results) # defaults page = await self.claim_search(channel_id=channel_id, order_by=['height', '^name']) @@ -240,7 +237,7 @@ class ClaimSearchCommand(ClaimTestCase): out_of_bounds = await self.claim_search(page=4, page_size=20, channel_id=channel_id) self.assertEqual(out_of_bounds, []) - @skip("okay") + # @skip("okay") async def test_tag_search(self): claim1 = await self.stream_create('claim1', tags=['aBc']) claim2 = await self.stream_create('claim2', tags=['#abc', 'def']) @@ -277,7 +274,7 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims([claim3], all_tags=['abc', 'ghi'], any_tags=['jkl'], not_tags=['mno']) await self.assertFindsClaims([claim4, claim3, claim2], all_tags=['abc'], any_tags=['def', 'ghi']) - @skip("okay") + # @skip("okay") async def test_order_by(self): height = self.ledger.network.remote_height claims = [await self.stream_create(f'claim{i}') for i in range(5)] @@ -294,7 +291,7 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims(claims, order_by=["^name"]) - @skip("okay") + # @skip("okay") async def test_search_by_fee(self): claim1 = await self.stream_create('claim1', fee_amount='1.0', fee_currency='lbc') claim2 = await self.stream_create('claim2', fee_amount='0.9', fee_currency='lbc') @@ -309,7 +306,7 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims([claim3], fee_amount='0.5', fee_currency='lbc') await self.assertFindsClaims([claim5], fee_currency='usd') - @skip("okay") + # @skip("okay") async def test_search_by_language(self): claim1 = await self.stream_create('claim1', fee_amount='1.0', fee_currency='lbc') claim2 = await self.stream_create('claim2', fee_amount='0.9', fee_currency='lbc') @@ -324,7 +321,7 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims([claim5, claim4, claim3], any_languages=['en', 'es']) await self.assertFindsClaims([], fee_currency='foo') - @skip("okay") + # @skip("okay") async def test_search_by_channel(self): match = self.assertFindsClaims @@ -380,7 +377,7 @@ class ClaimSearchCommand(ClaimTestCase): not_channel_ids=[chan2_id], has_channel_signature=True, valid_channel_signature=True) await match([], not_channel_ids=[chan1_id, chan2_id], has_channel_signature=True, valid_channel_signature=True) - @skip("okay") + # @skip("okay") async def test_limit_claims_per_channel(self): match = self.assertFindsClaims chan1_id = self.get_claim_id(await self.channel_create('@chan1')) @@ -426,7 +423,7 @@ class ClaimSearchCommand(ClaimTestCase): height='>218', limit_claims_per_channel=1, remove_duplicates=True, order_by=['height']) - @skip("okay") + # @skip("okay") async def test_limit_claims_per_channel_across_sorted_pages(self): await self.generate(10) match = self.assertFindsClaims @@ -459,7 +456,7 @@ class ClaimSearchCommand(ClaimTestCase): limit_claims_per_channel=1, claim_type='stream', order_by=['^height'] ) - @skip("okay") + # @skip("okay") async def test_claim_type_and_media_type_search(self): # create an invalid/unknown claim address = await self.account.receiving.get_or_create_usable_address() @@ -502,7 +499,7 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims([], duration='>100') await self.assertFindsClaims([], duration='<14') - @skip("okay") + # @skip("okay") async def test_search_by_text(self): chan1_id = self.get_claim_id(await self.channel_create('@SatoshiNakamoto')) chan2_id = self.get_claim_id(await self.channel_create('@Bitcoin'))