local: Readd support for search without limit for get_distinct support
This commit is contained in:
parent
8c7c275f3a
commit
319c1fc1e3
@ -182,10 +182,11 @@ class JsonLibrary(local.Library):
|
||||
else:
|
||||
return set()
|
||||
|
||||
result = set()
|
||||
for track in search.search(self._tracks.values(), query).tracks:
|
||||
result.update(distinct(track))
|
||||
return result
|
||||
distinct_result = set()
|
||||
search_result = search.search(self._tracks.values(), query, limit=None)
|
||||
for track in search_result.tracks:
|
||||
distinct_result.update(distinct(track))
|
||||
return distinct_result
|
||||
|
||||
def search(self, query=None, limit=100, offset=0, uris=None, exact=False):
|
||||
tracks = self._tracks.values()
|
||||
|
||||
@ -106,9 +106,12 @@ def find_exact(tracks, query=None, limit=100, offset=0, uris=None):
|
||||
else:
|
||||
raise LookupError('Invalid lookup field: %s' % field)
|
||||
|
||||
if limit is None:
|
||||
tracks = tracks[offset:]
|
||||
else:
|
||||
tracks = tracks[offset:offset + limit]
|
||||
# TODO: add local:search:<query>
|
||||
return SearchResult(
|
||||
uri='local:search', tracks=tracks[offset:offset + limit])
|
||||
return SearchResult(uri='local:search', tracks=tracks)
|
||||
|
||||
|
||||
def search(tracks, query=None, limit=100, offset=0, uris=None):
|
||||
@ -217,9 +220,13 @@ def search(tracks, query=None, limit=100, offset=0, uris=None):
|
||||
tracks = filter(any_filter, tracks)
|
||||
else:
|
||||
raise LookupError('Invalid lookup field: %s' % field)
|
||||
|
||||
if limit is None:
|
||||
tracks = tracks[offset:]
|
||||
else:
|
||||
tracks = tracks[offset:offset + limit]
|
||||
# TODO: add local:search:<query>
|
||||
return SearchResult(uri='local:search',
|
||||
tracks=tracks[offset:offset + limit])
|
||||
return SearchResult(uri='local:search', tracks=tracks)
|
||||
|
||||
|
||||
def _validate_query(query):
|
||||
|
||||
@ -1,12 +1,10 @@
|
||||
from __future__ import absolute_import, unicode_literals
|
||||
|
||||
|
||||
import unittest
|
||||
|
||||
from mopidy.local import json
|
||||
from mopidy.models import Ref, Track
|
||||
|
||||
|
||||
from tests import path_to_data_dir
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user