]> kaliko git repositories - python-musicpd.git/blobdiff - mpd.py
adding idle and noidle commands
[python-musicpd.git] / mpd.py
diff --git a/mpd.py b/mpd.py
index 384f856f522d44214c444179c2f5ba586d48e4f2..ade41a63f168262a7a382b8def45ebc41c7fd373 100644 (file)
--- a/mpd.py
+++ b/mpd.py
@@ -51,75 +51,81 @@ class MPDClient(object):
         self.iterate = False
         self._reset()
         self._commands = {
-            # Admin Commands
-            "disableoutput":    self._getnone,
-            "enableoutput":     self._getnone,
-            "kill":             None,
-            "update":           self._getitem,
-            # Informational Commands
+            # Status Commands
+            "clearerror":       self._getnone,
+            "currentsong":      self._getobject,
+            "idle":             self._getlist,
+            "noidle":           None,
             "status":           self._getobject,
             "stats":            self._getobject,
-            "outputs":          self._getoutputs,
-            "commands":         self._getlist,
-            "notcommands":      self._getlist,
-            "tagtypes":         self._getlist,
-            "urlhandlers":      self._getlist,
-            # Database Commands
-            "find":             self._getsongs,
-            "list":             self._getlist,
-            "listall":          self._getdatabase,
-            "listallinfo":      self._getdatabase,
-            "lsinfo":           self._getdatabase,
-            "search":           self._getsongs,
-            "count":            self._getobject,
+            # Playback Option Commands
+            "crossfade":        self._getnone,
+            "random":           self._getnone,
+            "repeat":           self._getnone,
+            "setvol":           self._getnone,
+            "volume":           self._getnone,
+            # Playback Control Commands
+            "next":             self._getnone,
+            "pause":            self._getnone,
+            "play":             self._getnone,
+            "playid":           self._getnone,
+            "previous":         self._getnone,
+            "seek":             self._getnone,
+            "seekid":           self._getnone,
+            "stop":             self._getnone,
             # Playlist Commands
             "add":              self._getnone,
             "addid":            self._getitem,
             "clear":            self._getnone,
-            "currentsong":      self._getobject,
             "delete":           self._getnone,
             "deleteid":         self._getnone,
-            "load":             self._getnone,
-            "rename":           self._getnone,
             "move":             self._getnone,
             "moveid":           self._getnone,
             "playlist":         self._getplaylist,
-            "playlistinfo":     self._getsongs,
+            "playlistfind":     self._getsongs,
             "playlistid":       self._getsongs,
+            "playlistinfo":     self._getsongs,
+            "playlistsearch":   self._getsongs,
             "plchanges":        self._getsongs,
             "plchangesposid":   self._getchanges,
-            "rm":               self._getnone,
-            "save":             self._getnone,
             "shuffle":          self._getnone,
             "swap":             self._getnone,
             "swapid":           self._getnone,
+            # Stored Playlist Commands
             "listplaylist":     self._getlist,
             "listplaylistinfo": self._getsongs,
+            "listplaylists":    self._getplaylists,
+            "load":             self._getnone,
             "playlistadd":      self._getnone,
             "playlistclear":    self._getnone,
             "playlistdelete":   self._getnone,
             "playlistmove":     self._getnone,
-            "playlistfind":     self._getsongs,
-            "playlistsearch":   self._getsongs,
-            # Playback Commands
-            "crossfade":        self._getnone,
-            "next":             self._getnone,
-            "pause":            self._getnone,
-            "play":             self._getnone,
-            "playid":           self._getnone,
-            "previous":         self._getnone,
-            "random":           self._getnone,
-            "repeat":           self._getnone,
-            "seek":             self._getnone,
-            "seekid":           self._getnone,
-            "setvol":           self._getnone,
-            "stop":             self._getnone,
-            "volume":           self._getnone,
-            # Miscellaneous Commands
-            "clearerror":       self._getnone,
+            "rename":           self._getnone,
+            "rm":               self._getnone,
+            "save":             self._getnone,
+            # Database Commands
+            "count":            self._getobject,
+            "find":             self._getsongs,
+            "list":             self._getlist,
+            "listall":          self._getdatabase,
+            "listallinfo":      self._getdatabase,
+            "lsinfo":           self._getdatabase,
+            "search":           self._getsongs,
+            "update":           self._getitem,
+            # Connection Commands
             "close":            None,
+            "kill":             None,
             "password":         self._getnone,
             "ping":             self._getnone,
+            # Audio Output Commands
+            "disableoutput":    self._getnone,
+            "enableoutput":     self._getnone,
+            "outputs":          self._getoutputs,
+            # Reflection Commands
+            "commands":         self._getlist,
+            "notcommands":      self._getlist,
+            "tagtypes":         self._getlist,
+            "urlhandlers":      self._getlist,
         }
 
     def __getattr__(self, attr):
@@ -259,6 +265,9 @@ class MPDClient(object):
     def _getsongs(self):
         return self._getobjects(["file"])
 
+    def _getplaylists(self):
+        return self._getobjects(["playlist"])
+
     def _getdatabase(self):
         return self._getobjects(["file", "directory", "playlist"])