From 85cf19bb2deeaddbc09c3632c384c2e7f7202b64 Mon Sep 17 00:00:00 2001 From: Lex Berezhny Date: Tue, 17 Nov 2020 14:30:33 -0500 Subject: [PATCH] test_order_by fixed --- lbry/db/queries/search.py | 14 +++++++++----- lbry/db/query_context.py | 2 +- lbry/service/api.py | 2 ++ .../commands/test_claim_commands.py | 18 +++++++++--------- 4 files changed, 21 insertions(+), 15 deletions(-) diff --git a/lbry/db/queries/search.py b/lbry/db/queries/search.py index e0f5cf187..37f216c3e 100644 --- a/lbry/db/queries/search.py +++ b/lbry/db/queries/search.py @@ -234,19 +234,23 @@ def select_claims(cols: List = None, for_count=False, **constraints) -> Select: if 'claim_type' in constraints: claim_types = constraints.pop('claim_type') if isinstance(claim_types, str): - claim_types = [claim_types] + claim_types = {claim_types} if claim_types: constraints['claim_type__in'] = { TXO_TYPES[claim_type] for claim_type in claim_types } - if 'stream_types' in constraints: - stream_types = constraints.pop('stream_types') + if 'stream_type' in constraints: + stream_types = constraints.pop('stream_type') + if isinstance(stream_types, str): + stream_types = {stream_types} if stream_types: constraints['stream_type__in'] = { STREAM_TYPES[stream_type] for stream_type in stream_types } - if 'media_types' in constraints: - media_types = constraints.pop('media_types') + if 'media_type' in constraints: + media_types = constraints.pop('media_type') + if isinstance(media_types, str): + media_types = {media_types} if media_types: constraints['media_type__in'] = set(media_types) diff --git a/lbry/db/query_context.py b/lbry/db/query_context.py index cef79243c..444417871 100644 --- a/lbry/db/query_context.py +++ b/lbry/db/query_context.py @@ -555,8 +555,8 @@ class BulkLoader: if claim.is_stream: d['claim_type'] = TXO_TYPES['stream'] - d['stream_type'] = STREAM_TYPES[guess_stream_type(d['media_type'])] d['media_type'] = claim.stream.source.media_type + d['stream_type'] = STREAM_TYPES[guess_stream_type(d['media_type'])] d['title'] = claim.stream.title.replace('\x00', '') d['description'] = claim.stream.description.replace('\x00', '') d['author'] = claim.stream.author.replace('\x00', '') diff --git a/lbry/service/api.py b/lbry/service/api.py index f7c8baa1a..86fd722e4 100644 --- a/lbry/service/api.py +++ b/lbry/service/api.py @@ -1593,6 +1593,8 @@ class API: claim_filter_dict["is_controlling"] = is_controlling if public_key_id is not None: claim_filter_dict["public_key_id"] = public_key_id + if claim_type is not None: + claim_filter_dict["claim_type"] = claim_type page_num = abs(pagination['page'] or 1) page_size = min(abs(pagination['page_size'] or DEFAULT_PAGE_SIZE), 50) claim_filter_dict.update(stream_filter_dict) diff --git a/tests/integration/commands/test_claim_commands.py b/tests/integration/commands/test_claim_commands.py index 4f1236692..05cedea04 100644 --- a/tests/integration/commands/test_claim_commands.py +++ b/tests/integration/commands/test_claim_commands.py @@ -239,7 +239,7 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims([claim4, claim3, claim2], all_tags=['abc'], any_tag=['def', 'ghi']) async def test_order_by(self): - height = self.ledger.sync.network.remote_height + height = await self.api.block_tip() claims = [await self.stream_create(f'claim{i}') for i in range(5)] await self.assertFindsClaims(claims, order_by=["^height"]) @@ -346,16 +346,16 @@ class ClaimSearchCommand(ClaimTestCase): await self.assertFindsClaims([repost], claim_type='repost') # stream_type - await self.assertFindsClaims([octet, unknown], stream_types=['binary']) - await self.assertFindsClaims([video], stream_types=['video']) - await self.assertFindsClaims([image], stream_types=['image']) - await self.assertFindsClaims([image, video], stream_types=['video', 'image']) + await self.assertFindsClaims([octet, unknown], stream_type=['binary']) + await self.assertFindsClaims([video], stream_type=['video']) + await self.assertFindsClaims([image], stream_type=['image']) + await self.assertFindsClaims([image, video], stream_type=['video', 'image']) # media_type - await self.assertFindsClaims([octet, unknown], media_types=['application/octet-stream']) - await self.assertFindsClaims([video], media_types=['video/mp4']) - await self.assertFindsClaims([image], media_types=['image/png']) - await self.assertFindsClaims([image, video], media_types=['video/mp4', 'image/png']) + await self.assertFindsClaims([octet, unknown], media_type=['application/octet-stream']) + await self.assertFindsClaims([video], media_type=['video/mp4']) + await self.assertFindsClaims([image], media_type=['image/png']) + await self.assertFindsClaims([image, video], media_type=['video/mp4', 'image/png']) # duration await self.assertFindsClaim(video, duration='>14')