Merge branch 'develop' into feature/simplify-outputs
Conflicts: docs/changes.rst
This commit is contained in:
commit
d112dc668b
@ -14,6 +14,10 @@ v0.8 (in development)
|
||||
and various client support. Requires gevent, which currently is not a
|
||||
dependency of Mopidy.
|
||||
|
||||
- Fixed bug when the MPD command `playlistinfo` is used with a track position.
|
||||
Track position and CPID was intermixed, so it would cause a crash if a CPID
|
||||
matching the track position didn't exist. (Fixes: :issue:`162`)
|
||||
|
||||
- Removed most traces of multiple outputs support. Having this feature
|
||||
currently seems to be more trouble than what it is worth.
|
||||
:attr:`mopidy.settings.OUTPUTS` setting is no longer supported, and has been
|
||||
|
||||
@ -55,8 +55,7 @@ def addid(context, uri, songpos=None):
|
||||
track = context.backend.library.lookup(uri).get()
|
||||
if track is None:
|
||||
raise MpdNoExistError(u'No such song', command=u'addid')
|
||||
if songpos and songpos > len(
|
||||
context.backend.current_playlist.tracks.get()):
|
||||
if songpos and songpos > context.backend.current_playlist.length.get():
|
||||
raise MpdArgError(u'Bad song index', command=u'addid')
|
||||
cp_track = context.backend.current_playlist.add(track,
|
||||
at_position=songpos).get()
|
||||
@ -132,7 +131,7 @@ def move_range(context, start, to, end=None):
|
||||
``TO`` in the playlist.
|
||||
"""
|
||||
if end is None:
|
||||
end = len(context.backend.current_playlist.tracks.get())
|
||||
end = context.backend.current_playlist.length.get()
|
||||
start = int(start)
|
||||
end = int(end)
|
||||
to = int(to)
|
||||
@ -244,7 +243,7 @@ def playlistinfo(context, songpos=None,
|
||||
"""
|
||||
if songpos is not None:
|
||||
songpos = int(songpos)
|
||||
cp_track = context.backend.current_playlist.get(cpid=songpos).get()
|
||||
cp_track = context.backend.current_playlist.cp_tracks.get()[songpos]
|
||||
return track_to_mpd_format(cp_track, position=songpos)
|
||||
else:
|
||||
if start is None:
|
||||
|
||||
@ -285,6 +285,8 @@ class CurrentPlaylistHandlerTest(protocol.BaseTestCase):
|
||||
self.assertInResponse(u'OK')
|
||||
|
||||
def test_playlistinfo_with_songpos(self):
|
||||
# Make the track's CPID not match the playlist position
|
||||
self.backend.current_playlist.cp_id = 17
|
||||
self.backend.current_playlist.append([
|
||||
Track(name='a'), Track(name='b'), Track(name='c'),
|
||||
Track(name='d'), Track(name='e'), Track(name='f'),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user