From 434fbb88530bcb4f111080b920a1face3bc1eaeb Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 28 Feb 2010 20:07:11 +0100 Subject: [PATCH] Add 'Last-Modified' field to _stored_playlists_listplaylists response --- mopidy/mpd/handler.py | 11 ++++++++--- tests/mpd/handlertest.py | 6 ++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/mopidy/mpd/handler.py b/mopidy/mpd/handler.py index c3f2b220..fb0f5aa5 100644 --- a/mopidy/mpd/handler.py +++ b/mopidy/mpd/handler.py @@ -10,6 +10,7 @@ implement our own MPD server which is compatible with the numerous existing `MPD clients `_. """ +import datetime as dt import logging import re import sys @@ -1264,9 +1265,13 @@ class MpdHandler(object): playlist: b Last-Modified: 2010-02-06T02:11:08Z """ - # TODO Add Last-Modified attribute to output - return [u'playlist: %s' % p.name - for p in self.backend.stored_playlists.playlists] + result = [] + for playlist in self.backend.stored_playlists.playlists: + result.append((u'playlist', playlist.name)) + # TODO Remove microseconds and add time zone information + result.append((u'Last-Modified', + (playlist.last_modified or dt.datetime.now()).isoformat())) + return result @handle_pattern(r'^load "(?P[^"]+)"$') def _stored_playlists_load(self, name): diff --git a/tests/mpd/handlertest.py b/tests/mpd/handlertest.py index 42d2b1e0..7201be0c 100644 --- a/tests/mpd/handlertest.py +++ b/tests/mpd/handlertest.py @@ -1,3 +1,4 @@ +import datetime as dt import unittest from mopidy.backends.dummy import DummyBackend @@ -702,7 +703,12 @@ class StoredPlaylistsHandlerTest(unittest.TestCase): self.assert_(u'ACK Name "name" not found' in result) def test_listplaylists(self): + last_modified = dt.datetime(2001, 3, 17, 13, 41, 17) + self.b.stored_playlists.playlists = [Playlist(name='a', + last_modified=last_modified)] result = self.h.handle_request(u'listplaylists') + self.assert_(u'playlist: a' in result) + self.assert_(u'Last-Modified: 2001-03-17T13:41:17' in result) self.assert_(u'OK' in result) def test_load(self):