[gnome-music/wip/jfelder/mpris-playlists-cleanup: 3/7] mpris: Simplify GetPlaylists method



commit 14d41aac0c9349a6ef30eb17763d9aa92e9807f3
Author: Jean Felder <jfelder src gnome org>
Date:   Thu Mar 21 08:56:20 2019 +0100

    mpris: Simplify GetPlaylists method

 gnomemusic/mpris.py | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)
---
diff --git a/gnomemusic/mpris.py b/gnomemusic/mpris.py
index 23047a5b..2e5bc5af 100644
--- a/gnomemusic/mpris.py
+++ b/gnomemusic/mpris.py
@@ -641,13 +641,29 @@ class MediaPlayer2Service(Server):
         self.app._window.views[View.PLAYLIST].activate_playlist(playlist_id)
 
     def GetPlaylists(self, index, max_count, order, reverse):
+        """Gets a set of playlists (MPRIS Method).
+
+        GNOME Music only handles playlists with the Alphabetical order.
+
+        :param int index: the index of the first playlist to be fetched
+        :param int max_count: the maximum number of playlists to fetch.
+        :param str order: the ordering that should be used.
+        :param bool reverse: whether the order should be reversed.
+        """
         if order != 'Alphabetical':
             return []
+
         playlists = [(self._get_playlist_dbus_path(playlist),
-                      utils.get_media_title(playlist) or '', '')
+                      utils.get_media_title(playlist), '')
                      for playlist in self.playlists]
-        return playlists[index:index + max_count] if not reverse \
-            else playlists[index + max_count - 1:index - 1 if index - 1 >= 0 else None:-1]
+
+        if not reverse:
+            return playlists[index:index + max_count]
+
+        first_index = index - 1
+        if first_index < 0:
+            first_index = None
+        return playlists[index + max_count - 1:first_index:-1]
 
     def PlaylistChanged(self, playlist):
         self.con.emit_signal(None,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]