Add 'elapsed' to 'status' output and increase MPD protocol version to 0.16.0

This commit is contained in:
Stein Magnus Jodal 2010-02-28 16:27:18 +01:00
parent 56b8a6647b
commit 93e5a417e5
3 changed files with 12 additions and 5 deletions

View File

@ -5,7 +5,7 @@ def get_version():
return u'0.1.dev' return u'0.1.dev'
def get_mpd_protocol_version(): def get_mpd_protocol_version():
return u'0.15.0' return u'0.16.0'
class Settings(object): class Settings(object):
def __getattr__(self, attr): def __getattr__(self, attr):

View File

@ -1039,7 +1039,7 @@ class MpdHandler(object):
if self.backend.playback.state in ( if self.backend.playback.state in (
self.backend.playback.PLAYING, self.backend.playback.PAUSED): self.backend.playback.PLAYING, self.backend.playback.PAUSED):
result.append(('time', self.__status_status_time())) result.append(('time', self.__status_status_time()))
# TODO Add 'elapsed' here when moving to MPD 0.16.0 result.append(('elapsed', self.__status_status_time_elapsed()))
result.append(('bitrate', self.__status_status_bitrate())) result.append(('bitrate', self.__status_status_bitrate()))
return result return result
@ -1092,8 +1092,8 @@ class MpdHandler(object):
return u'pause' return u'pause'
def __status_status_time(self): def __status_status_time(self):
return u'%s:%s' % (self.__status_status_time_elapsed(), return u'%s:%s' % (self.__status_status_time_elapsed() // 1000,
self.__status_status_time_total()) self.__status_status_time_total() // 1000)
def __status_status_time_elapsed(self): def __status_status_time_elapsed(self):
return self.backend.playback.time_position return self.backend.playback.time_position
@ -1104,7 +1104,7 @@ class MpdHandler(object):
elif self.backend.playback.current_track.length is None: elif self.backend.playback.current_track.length is None:
return 0 return 0
else: else:
return self.backend.playback.current_track.length // 1000 return self.backend.playback.current_track.length
def __status_status_volume(self): def __status_status_volume(self):
if self.backend.playback.volume is not None: if self.backend.playback.volume is not None:

View File

@ -284,6 +284,13 @@ class StatusHandlerTest(unittest.TestCase):
total = int(total) total = int(total)
self.assert_(position <= total) self.assert_(position <= total)
def test_status_method_when_playing_contains_elapsed(self):
self.b.playback.state = self.b.playback.PAUSED
self.b.playback._play_time_accumulated = 59123
result = dict(self.h._status_status())
self.assert_('elapsed' in result)
self.assertEquals(int(result['elapsed']), 59123)
def test_status_method_when_playing_contains_bitrate(self): def test_status_method_when_playing_contains_bitrate(self):
self.b.playback.state = self.b.playback.PLAYING self.b.playback.state = self.b.playback.PLAYING
self.b.playback.current_track = Track(bitrate=320) self.b.playback.current_track = Track(bitrate=320)