Merge branch 'master' of git://github.com/jodal/mopidy into gstreamer
This commit is contained in:
commit
d8bd6f3a1e
@ -68,11 +68,12 @@ class DespotifyLibraryController(BaseLibraryController):
|
|||||||
for value in values:
|
for value in values:
|
||||||
if field == u'track':
|
if field == u'track':
|
||||||
field = u'title'
|
field = u'title'
|
||||||
if field is u'any':
|
if field == u'any':
|
||||||
spotify_query.append(value)
|
spotify_query.append(value)
|
||||||
else:
|
else:
|
||||||
spotify_query.append(u'%s:"%s"' % (field, value))
|
spotify_query.append(u'%s:"%s"' % (field, value))
|
||||||
spotify_query = u' '.join(query)
|
spotify_query = u' '.join(spotify_query)
|
||||||
|
logger.debug(u'Spotify search query: %s', spotify_query)
|
||||||
result = self.backend.spotify.search(spotify_query.encode(ENCODING))
|
result = self.backend.spotify.search(spotify_query.encode(ENCODING))
|
||||||
if (result is None or result.playlist.tracks[0].get_uri() ==
|
if (result is None or result.playlist.tracks[0].get_uri() ==
|
||||||
'spotify:track:0000000000000000000000'):
|
'spotify:track:0000000000000000000000'):
|
||||||
|
|||||||
@ -76,7 +76,7 @@ class LibspotifyLibraryController(BaseLibraryController):
|
|||||||
for value in values:
|
for value in values:
|
||||||
if field == u'track':
|
if field == u'track':
|
||||||
field = u'title'
|
field = u'title'
|
||||||
if field is u'any':
|
if field == u'any':
|
||||||
spotify_query.append(value)
|
spotify_query.append(value)
|
||||||
else:
|
else:
|
||||||
spotify_query.append(u'%s:"%s"' % (field, value))
|
spotify_query.append(u'%s:"%s"' % (field, value))
|
||||||
@ -84,6 +84,13 @@ class LibspotifyLibraryController(BaseLibraryController):
|
|||||||
logger.debug(u'In search method, search for: %s' % spotify_query)
|
logger.debug(u'In search method, search for: %s' % spotify_query)
|
||||||
my_end, other_end = multiprocessing.Pipe()
|
my_end, other_end = multiprocessing.Pipe()
|
||||||
self.backend.spotify.search(spotify_query.encode(ENCODING), other_end)
|
self.backend.spotify.search(spotify_query.encode(ENCODING), other_end)
|
||||||
|
logger.debug(u'In Library.search(), waiting for search results')
|
||||||
|
my_end.poll(None)
|
||||||
|
logger.debug(u'In Library.search(), receiving search results')
|
||||||
|
playlist = my_end.recv()
|
||||||
|
logger.debug(u'In Library.search(), done receiving search results')
|
||||||
|
logger.debug(['%s' % t.name for t in playlist.tracks])
|
||||||
|
return playlist
|
||||||
|
|
||||||
|
|
||||||
class LibspotifyPlaybackController(BasePlaybackController):
|
class LibspotifyPlaybackController(BasePlaybackController):
|
||||||
|
|||||||
@ -113,10 +113,11 @@ class MpdFrontend(object):
|
|||||||
Parses a mpd query string and converts the MPD query to a list of
|
Parses a mpd query string and converts the MPD query to a list of
|
||||||
(field, what) tuples.
|
(field, what) tuples.
|
||||||
"""
|
"""
|
||||||
query_pattern = r'"?(?:[Aa]lbum|[Aa]rtist|[Ff]ilename|[Tt]itle|[Aa]ny)"? "[^"]+"'
|
query_pattern = (
|
||||||
|
r'"?(?:[Aa]lbum|[Aa]rtist|[Ff]ilename|[Tt]itle|[Aa]ny)"? "[^"]+"')
|
||||||
query_parts = re.findall(query_pattern, mpd_query)
|
query_parts = re.findall(query_pattern, mpd_query)
|
||||||
query_part_pattern = (
|
query_part_pattern = (
|
||||||
r'"?(?P<field>([Aa]lbum|[Aa]rtist|[Ff]ilename|[Tt]itle|[Aa]ny))"?\s'
|
r'"?(?P<field>([Aa]lbum|[Aa]rtist|[Ff]ilename|[Tt]itle|[Aa]ny))"? '
|
||||||
r'"(?P<what>[^"]+)"')
|
r'"(?P<what>[^"]+)"')
|
||||||
query = {}
|
query = {}
|
||||||
for query_part in query_parts:
|
for query_part in query_parts:
|
||||||
@ -124,11 +125,13 @@ class MpdFrontend(object):
|
|||||||
field = m.groupdict()['field'].lower()
|
field = m.groupdict()['field'].lower()
|
||||||
if field == u'title':
|
if field == u'title':
|
||||||
field = u'track'
|
field = u'track'
|
||||||
|
field = str(field) # Needed for kwargs keys on OS X and Windows
|
||||||
what = m.groupdict()['what'].lower()
|
what = m.groupdict()['what'].lower()
|
||||||
if field in query:
|
if field in query:
|
||||||
query[field].append(what)
|
query[field].append(what)
|
||||||
else:
|
else:
|
||||||
query[field] = [what]
|
query[field] = [what]
|
||||||
|
logger.debug(u'Search query: %s', query)
|
||||||
return query
|
return query
|
||||||
|
|
||||||
@handle_pattern(r'^disableoutput "(?P<outputid>\d+)"$')
|
@handle_pattern(r'^disableoutput "(?P<outputid>\d+)"$')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user