diff --git a/mopidy/mpd/translator.py b/mopidy/mpd/translator.py index 0e7cb1ff..92e5a3ae 100644 --- a/mopidy/mpd/translator.py +++ b/mopidy/mpd/translator.py @@ -87,10 +87,10 @@ def track_to_mpd_format(track, position=None, stream_title=None): if track.disc_no: result.append(('Disc', track.disc_no)) - if track.last_modified is not None: - datestring = datetime.datetime.fromtimestamp( + if track.last_modified: + datestring = datetime.datetime.utcfromtimestamp( track.last_modified // 1000).isoformat() - result.append(('Last-Modified', datestring)) + result.append(('Last-Modified', datestring + 'Z')) if track.musicbrainz_id is not None: result.append(('MUSICBRAINZ_TRACKID', track.musicbrainz_id)) diff --git a/tests/mpd/test_translator.py b/tests/mpd/test_translator.py index 3488442e..9c38a377 100644 --- a/tests/mpd/test_translator.py +++ b/tests/mpd/test_translator.py @@ -1,6 +1,5 @@ from __future__ import absolute_import, unicode_literals -import datetime import unittest from mopidy.internal import path @@ -82,12 +81,6 @@ class TrackMpdFormatTest(unittest.TestCase): def test_track_to_mpd_format_with_last_modified(self): track = self.track.replace(last_modified=995303899000) - # Due to this being local time-zone dependant, we have - # to calculate what the Last-Modified output will look like - # on the machine where the tests are being run. So this only tests - # that the output is actually there. - datestring = datetime.datetime.fromtimestamp( - track.last_modified // 1000).isoformat() result = translator.track_to_mpd_format(track) self.assertIn(('file', 'a uri'), result) self.assertIn(('Time', 137), result) @@ -101,7 +94,7 @@ class TrackMpdFormatTest(unittest.TestCase): self.assertIn(('Track', '7/13'), result) self.assertIn(('Date', '1977-01-01'), result) self.assertIn(('Disc', 1), result) - self.assertIn(('Last-Modified', datestring), result) + self.assertIn(('Last-Modified', '2001-07-16T17:18:19Z'), result) self.assertNotIn(('Comment', 'a comment'), result) self.assertEqual(len(result), 13)