core: Add get_current_tlid shortcut

This commit is contained in:
Thomas Adamcik 2015-05-06 23:00:53 +02:00
parent 6d82cdb611
commit 4d608dd431
3 changed files with 27 additions and 3 deletions

View File

@ -27,6 +27,9 @@ Core API
``tl_track`` versions of the calls. (Fixes: :issue:`1131` PR: :issue:`1136`,
:issue:`1140`)
- Add :meth:`mopidy.core.playback.PlaybackController.get_current_tlid`.
(Part of: :issue:`1137`)
Models
------

View File

@ -61,9 +61,7 @@ class PlaybackController(object):
Returns a :class:`mopidy.models.Track` or :class:`None`.
"""
tl_track = self.get_current_tl_track()
if tl_track is not None:
return tl_track.track
return getattr(self.get_current_tl_track(), 'track', None)
current_track = deprecation.deprecated_property(get_current_track)
"""
@ -71,6 +69,18 @@ class PlaybackController(object):
Use :meth:`get_current_track` instead.
"""
def get_current_tlid(self):
"""
Get the currently playing or selected TLID.
Extracted from :meth:`get_current_tl_track` for convenience.
Returns a :class:`int` or :class:`None`.
.. versionadded:: 1.1
"""
return getattr(self.get_current_tl_track(), 'tlid', None)
def get_stream_title(self):
"""Get the current stream title or :class:`None`."""
return self._stream_title

View File

@ -121,6 +121,17 @@ class CorePlaybackTest(unittest.TestCase):
self.assertEqual(
self.core.playback.get_current_track(), self.tracks[0])
def test_get_current_tlid_none(self):
self.set_current_tl_track(None)
self.assertEqual(self.core.playback.get_current_tlid(), None)
def test_get_current_tlid_play(self):
self.core.playback.play(self.tl_tracks[0])
self.assertEqual(
self.core.playback.get_current_tlid(), self.tl_tracks[0].tlid)
# TODO Test state
def test_play_selects_dummy1_backend(self):