]> kaliko git repositories - python-musicpd.git/blobdiff - musicpd.py
Releasing 0.9.2
[python-musicpd.git] / musicpd.py
index 2fa12339d9216214b2a604cf2c515d7791f55041..af497c15eca0bb8df11db79ac5ca4656cb97c1bf 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# SPDX-FileCopyrightText: 2012-2024  kaliko <kaliko@azylum.org>
+# SPDX-FileCopyrightText: 2012-2025  kaliko <kaliko@azylum.org>
 # SPDX-FileCopyrightText: 2021       Wonko der Verständige <wonko@hanstool.org>
 # SPDX-FileCopyrightText: 2019       Naglis Jonaitis <naglis@mailbox.org>
 # SPDX-FileCopyrightText: 2019       Bart Van Loon <bbb@bbbart.be>
@@ -19,7 +19,7 @@ ERROR_PREFIX = "ACK "
 SUCCESS = "OK"
 NEXT = "list_OK"
 #: Module version
-VERSION = '0.9.0b2'
+VERSION = '0.9.2'
 #: Seconds before a connection attempt times out
 #: (overriden by :envvar:`MPD_TIMEOUT` env. var.)
 CONNECTION_TIMEOUT = 30
@@ -164,12 +164,12 @@ class MPDClient:
       :py:attr:`musicpd.MPDClient.port` keep track of current connection
       host and port, :py:attr:`musicpd.MPDClient.pwd` is set once with
       password extracted from environment variable.
-      Calling :py:meth:`password` methode with a new password
+      Calling MPS's password method with a new password
       won't update :py:attr:`musicpd.MPDClient.pwd` value.
 
       Moreover, :py:attr:`musicpd.MPDClient.pwd` is only an helper attribute
       exposing password extracted from :envvar:`MPD_HOST` environment variable, it
-      will not be used as default value for the :py:meth:`password` method
+      will not be used as default value for the MPD's password command.
     """
 
     def __init__(self):
@@ -185,14 +185,14 @@ class MPDClient:
         .. note:: This is the version of the protocol spoken, not the real version of the daemon."""
         self._reset()
         self._commands = {
-            # Status Commands
+            # Querying MPD’s status # querying-mpd-s-status
             "clearerror":         self._fetch_nothing,
             "currentsong":        self._fetch_object,
             "idle":               self._fetch_list,
             #"noidle":             None,
             "status":             self._fetch_object,
             "stats":              self._fetch_object,
-            # Playback Option Commands
+            # Playback Option # playback-options
             "consume":            self._fetch_nothing,
             "crossfade":          self._fetch_nothing,
             "mixrampdb":          self._fetch_nothing,
@@ -205,7 +205,7 @@ class MPDClient:
             "replay_gain_mode":   self._fetch_nothing,
             "replay_gain_status": self._fetch_item,
             "volume":             self._fetch_nothing,
-            # Playback Control Commands
+            # Controlling playback # controlling-playback
             "next":               self._fetch_nothing,
             "pause":              self._fetch_nothing,
             "play":               self._fetch_nothing,
@@ -215,7 +215,7 @@ class MPDClient:
             "seekid":             self._fetch_nothing,
             "seekcur":            self._fetch_nothing,
             "stop":               self._fetch_nothing,
-            # Queue Commands
+            # The Queue # the-queue
             "add":                self._fetch_nothing,
             "addid":              self._fetch_item,
             "clear":              self._fetch_nothing,
@@ -238,19 +238,21 @@ class MPDClient:
             "swapid":             self._fetch_nothing,
             "addtagid":           self._fetch_nothing,
             "cleartagid":         self._fetch_nothing,
-            # Stored Playlist Commands
+            # Stored playlists # stored-playlists
             "listplaylist":       self._fetch_list,
             "listplaylistinfo":   self._fetch_songs,
+            "searchplaylist":     self._fetch_songs,
             "listplaylists":      self._fetch_playlists,
             "load":               self._fetch_nothing,
             "playlistadd":        self._fetch_nothing,
             "playlistclear":      self._fetch_nothing,
             "playlistdelete":     self._fetch_nothing,
+            "playlistlength":     self._fetch_object,
             "playlistmove":       self._fetch_nothing,
             "rename":             self._fetch_nothing,
             "rm":                 self._fetch_nothing,
             "save":               self._fetch_nothing,
-            # Database Commands
+            # The music database # the-music-database
             "albumart":           self._fetch_composite,
             "count":              self._fetch_object,
             "getfingerprint":     self._fetch_object,
@@ -266,20 +268,24 @@ class MPDClient:
             "search":             self._fetch_songs,
             "searchadd":          self._fetch_nothing,
             "searchaddpl":        self._fetch_nothing,
+            "searchcount":        self._fetch_object,
             "update":             self._fetch_item,
             "rescan":             self._fetch_item,
-            # Mounts and neighbors
+            # Mounts and neighbors # mounts-and-neighbors
             "mount":              self._fetch_nothing,
             "unmount":            self._fetch_nothing,
             "listmounts":         self._fetch_mounts,
             "listneighbors":      self._fetch_neighbors,
-            # Sticker Commands
+            # Stickers # stickers
             "sticker get":        self._fetch_item,
             "sticker set":        self._fetch_nothing,
             "sticker delete":     self._fetch_nothing,
             "sticker list":       self._fetch_list,
             "sticker find":       self._fetch_songs,
-            # Connection Commands
+            "stickernames":       self._fetch_list,
+            "stickertypes":       self._fetch_list,
+            "stickernamestypes":  self._fetch_list,
+            # Connection settings # connection-settings
             "close":              None,
             "kill":               None,
             "password":           self._fetch_nothing,
@@ -290,25 +296,31 @@ class MPDClient:
             "tagtypes enable":    self._fetch_nothing,
             "tagtypes clear":     self._fetch_nothing,
             "tagtypes all":       self._fetch_nothing,
-            # Partition Commands
+            "protocol":           self._fetch_list,
+            "protocol disable":   self._fetch_nothing,
+            "protocol enable":    self._fetch_nothing,
+            "protocol clear":     self._fetch_nothing,
+            "protocol all":       self._fetch_nothing,
+            "protocol available": self._fetch_list,
+            # Partition Commands # partition-commands
             "partition":          self._fetch_nothing,
             "listpartitions":     self._fetch_list,
             "newpartition":       self._fetch_nothing,
             "delpartition":       self._fetch_nothing,
             "moveoutput":         self._fetch_nothing,
-            # Audio Output Commands
+            # Audio output devices # audio-output-devices
             "disableoutput":      self._fetch_nothing,
             "enableoutput":       self._fetch_nothing,
             "toggleoutput":       self._fetch_nothing,
             "outputs":            self._fetch_outputs,
             "outputset":          self._fetch_nothing,
-            # Reflection Commands
+            # Reflection # reflection
             "config":             self._fetch_object,
             "commands":           self._fetch_list,
             "notcommands":        self._fetch_list,
             "urlhandlers":        self._fetch_list,
             "decoders":           self._fetch_plugins,
-            # Client to Client
+            # Client to Client # client-to-client
             "subscribe":          self._fetch_nothing,
             "unsubscribe":        self._fetch_nothing,
             "channels":           self._fetch_list,
@@ -738,8 +750,8 @@ class MPDClient:
         """Socket timeout in second (defaults to :py:obj:`SOCKET_TIMEOUT`).
         Use :py:obj:`None` to disable socket timout.
 
-        :setter: Set the socket timeout
-        :type: int or None (integer > 0)
+        :setter: Set the socket timeout (integer > 0)
+        :type: int or None
         """
         return self._socket_timeout