Add option to get mtime set in translator

This commit is contained in:
Thomas Adamcik 2010-10-29 22:18:35 +02:00
parent d785b9b14e
commit 8d1339ef7f
2 changed files with 13 additions and 2 deletions

View File

@ -3,9 +3,9 @@ import re
from mopidy import settings
from mopidy.frontends.mpd import protocol
from mopidy.utils.path import path_to_uri
from mopidy.utils.path import path_to_uri, uri_to_path
def track_to_mpd_format(track, position=None, cpid=None, key=None):
def track_to_mpd_format(track, position=None, cpid=None, key=False, mtime=False):
"""
Format track for output to MPD client.
@ -35,6 +35,9 @@ def track_to_mpd_format(track, position=None, cpid=None, key=None):
result.append(('Id', cpid))
if key and track.uri:
result.insert(0, ('key', os.path.basename(track.uri)))
if mtime and track.uri:
mtime = os.stat(uri_to_path(track.uri)).st_mtime
result.append(('mtime', int(mtime)))
return result
def track_artists_to_mpd_format(track):

View File

@ -5,6 +5,8 @@ from mopidy import settings
from mopidy.frontends.mpd import translator, protocol
from mopidy.models import Album, Artist, Playlist, Track
from tests import data_folder
class TrackMpdFormatTest(unittest.TestCase):
def setUp(self):
settings.LOCAL_MUSIC_FOLDER = '/dir/subdir'
@ -41,6 +43,12 @@ class TrackMpdFormatTest(unittest.TestCase):
result = translator.track_to_mpd_format(track, key=True)
self.assert_(('key', 'file.mp3') in result)
def test_track_to_mpd_format_with_mtime(self):
uri = translator.path_to_uri(data_folder('blank.mp3'))
result = translator.track_to_mpd_format(Track(uri=uri), mtime=True)
print result
self.assert_(('mtime', 1288125516) in result)
def test_track_to_mpd_format_track_uses_uri_to_mpd_relative_path(self):
track = Track(uri='file:///dir/subdir/song.mp3')
path = dict(translator.track_to_mpd_format(track))['file']