From dafd5ac9ecc6e9f863e712d46b9b46a8d308f324 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sat, 28 Aug 2010 16:59:14 +0200 Subject: [PATCH] Add 'list date' support --- mopidy/frontends/mpd/protocol/music_db.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mopidy/frontends/mpd/protocol/music_db.py b/mopidy/frontends/mpd/protocol/music_db.py index 2bccab3d..4c2031aa 100644 --- a/mopidy/frontends/mpd/protocol/music_db.py +++ b/mopidy/frontends/mpd/protocol/music_db.py @@ -175,9 +175,9 @@ def list_(frontend, field, mpd_query=None): elif field == u'album': return _list_album(frontend, query) elif field == u'date': - pass # TODO + return _list_date(frontend, query) elif field == u'genre': - pass # TODO + pass # TODO We don't have genre in our internal data structures yet def _list_build_query(field, mpd_query): """Converts a ``list`` query to a Mopidy query.""" @@ -224,6 +224,14 @@ def _list_album(frontend, query): albums.add((u'Album', track.album.name)) return albums +def _list_date(frontend, query): + dates = set() + playlist = frontend.backend.library.find_exact(**query) + for track in playlist.tracks: + if track.date is not None: + dates.add((u'Date', track.date.strftime('%Y-%m-%d'))) + return dates + @handle_pattern(r'^listall "(?P[^"]+)"') def listall(frontend, uri): """