Merge branch 'master' of git://github.com/jodal/mopidy into gstreamer

This commit is contained in:
Johannes Knutsen 2010-08-09 17:56:07 +02:00
commit d8bd6f3a1e
3 changed files with 16 additions and 5 deletions

View File

@ -68,11 +68,12 @@ class DespotifyLibraryController(BaseLibraryController):
for value in values:
if field == u'track':
field = u'title'
if field is u'any':
if field == u'any':
spotify_query.append(value)
else:
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))
if (result is None or result.playlist.tracks[0].get_uri() ==
'spotify:track:0000000000000000000000'):

View File

@ -76,7 +76,7 @@ class LibspotifyLibraryController(BaseLibraryController):
for value in values:
if field == u'track':
field = u'title'
if field is u'any':
if field == u'any':
spotify_query.append(value)
else:
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)
my_end, other_end = multiprocessing.Pipe()
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):

View File

@ -113,10 +113,11 @@ class MpdFrontend(object):
Parses a mpd query string and converts the MPD query to a list of
(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_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>[^"]+)"')
query = {}
for query_part in query_parts:
@ -124,11 +125,13 @@ class MpdFrontend(object):
field = m.groupdict()['field'].lower()
if field == u'title':
field = u'track'
field = str(field) # Needed for kwargs keys on OS X and Windows
what = m.groupdict()['what'].lower()
if field in query:
query[field].append(what)
else:
query[field] = [what]
logger.debug(u'Search query: %s', query)
return query
@handle_pattern(r'^disableoutput "(?P<outputid>\d+)"$')