Start writting tracks_to_tag_cache_format

This commit is contained in:
Thomas Adamcik 2010-10-29 20:04:53 +02:00
parent 3e595213ac
commit 02df8ca033
2 changed files with 35 additions and 1 deletions

View File

@ -1,3 +1,5 @@
from mopidy.frontends.mpd import protocol
def track_to_mpd_format(track, position=None, cpid=None):
"""
Format track for output to MPD client.
@ -72,3 +74,16 @@ def playlist_to_mpd_format(playlist, *args, **kwargs):
Arguments as for :func:`tracks_to_mpd_format`, except the first one.
"""
return tracks_to_mpd_format(playlist.tracks, *args, **kwargs)
def tracks_to_tag_cache_format(tracks):
result = [
('info_begin',),
('mpd_version', protocol.VERSION),
('fs_charset', protocol.ENCODING),
('info_end',)
]
result.append(('songList begin',))
result.append(('songList end',))
return result

View File

@ -1,7 +1,7 @@
import datetime as dt
import unittest
from mopidy.frontends.mpd import translator
from mopidy.frontends.mpd import translator, protocol
from mopidy.models import Album, Artist, Playlist, Track
class TrackMpdFormatTest(unittest.TestCase):
@ -57,3 +57,22 @@ class PlaylistMpdFormatTest(unittest.TestCase):
result = translator.playlist_to_mpd_format(playlist, 1, 2)
self.assertEqual(len(result), 1)
self.assertEqual(dict(result[0])['Track'], 2)
class TracksToTagCacheFormatTest(unittest.TestCase):
header_length = 4
def check_headers(self, result):
self.assert_(('info_begin',) in result)
self.assert_(('mpd_version', protocol.VERSION) in result)
self.assert_(('fs_charset', protocol.ENCODING) in result)
self.assert_(('info_end',) in result)
def test_empty_tag_cache(self):
result = translator.tracks_to_tag_cache_format([])
self.check_headers(result)
self.assert_(('songList begin',) in result)
self.assert_(('songList end',) in result)
self.assertEqual(len(result), self.header_length+2)