MPD: Support 'plchanges "-1"' to work better with MPDroid
This commit is contained in:
parent
84e5b69922
commit
255d70d1ae
@ -23,6 +23,7 @@ Another great release.
|
|||||||
- Split gigantic protocol implementation into eleven modules.
|
- Split gigantic protocol implementation into eleven modules.
|
||||||
- Search improvements, including support for multi-word search.
|
- Search improvements, including support for multi-word search.
|
||||||
- Fixed ``play "-1"`` and ``playid "-1"`` behaviour when playlist is empty.
|
- Fixed ``play "-1"`` and ``playid "-1"`` behaviour when playlist is empty.
|
||||||
|
- Support ``plchanges "-1"`` to work better with MPDroid.
|
||||||
|
|
||||||
- Backend API:
|
- Backend API:
|
||||||
|
|
||||||
|
|||||||
@ -257,7 +257,7 @@ def playlistsearch(frontend, tag, needle):
|
|||||||
"""
|
"""
|
||||||
raise MpdNotImplemented # TODO
|
raise MpdNotImplemented # TODO
|
||||||
|
|
||||||
@handle_pattern(r'^plchanges "(?P<version>\d+)"$')
|
@handle_pattern(r'^plchanges "(?P<version>-?\d+)"$')
|
||||||
def plchanges(frontend, version):
|
def plchanges(frontend, version):
|
||||||
"""
|
"""
|
||||||
*musicpd.org, current playlist section:*
|
*musicpd.org, current playlist section:*
|
||||||
@ -268,6 +268,10 @@ def plchanges(frontend, version):
|
|||||||
|
|
||||||
To detect songs that were deleted at the end of the playlist, use
|
To detect songs that were deleted at the end of the playlist, use
|
||||||
``playlistlength`` returned by status command.
|
``playlistlength`` returned by status command.
|
||||||
|
|
||||||
|
*MPDroid:*
|
||||||
|
|
||||||
|
- Calls ``plchanges "-1"`` two times per second to get the entire playlist.
|
||||||
"""
|
"""
|
||||||
# XXX Naive implementation that returns all tracks as changed
|
# XXX Naive implementation that returns all tracks as changed
|
||||||
if int(version) < frontend.backend.current_playlist.version:
|
if int(version) < frontend.backend.current_playlist.version:
|
||||||
|
|||||||
@ -321,6 +321,15 @@ class CurrentPlaylistHandlerTest(unittest.TestCase):
|
|||||||
self.assert_(u'Title: c' in result)
|
self.assert_(u'Title: c' in result)
|
||||||
self.assert_(u'OK' in result)
|
self.assert_(u'OK' in result)
|
||||||
|
|
||||||
|
def test_plchanges_with_minus_one_returns_entire_playlist(self):
|
||||||
|
self.b.current_playlist.load(
|
||||||
|
[Track(name='a'), Track(name='b'), Track(name='c')])
|
||||||
|
result = self.h.handle_request(u'plchanges "-1"')
|
||||||
|
self.assert_(u'Title: a' in result)
|
||||||
|
self.assert_(u'Title: b' in result)
|
||||||
|
self.assert_(u'Title: c' in result)
|
||||||
|
self.assert_(u'OK' in result)
|
||||||
|
|
||||||
def test_plchangesposid(self):
|
def test_plchangesposid(self):
|
||||||
self.b.current_playlist.load([Track(), Track(), Track()])
|
self.b.current_playlist.load([Track(), Track(), Track()])
|
||||||
result = self.h.handle_request(u'plchangesposid "0"')
|
result = self.h.handle_request(u'plchangesposid "0"')
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user