musicpd namespace
Python Music Player Daemon client library
- musicpd.VERSION = '0.9.0'
Module version
- musicpd.CONNECTION_TIMEOUT = 30
Seconds before a connection attempt times out (overriden by
MPD_TIMEOUT
env. var.)
- class musicpd.MPDClient[source]
MPDClient instance will look for
MPD_HOST
/MPD_PORT
/XDG_RUNTIME_DIR
environment variables and set instance attributehost
,port
andpwd
accordingly.Then
musicpd.MPDClient.connect
will usehost
andport
as defaults if not provided as args.Regarding
MPD_HOST
format to expose password refer this module documentation or MPD client manual mpc (1).>>> from os import environ >>> environ['MPD_HOST'] = 'pass@mpdhost' >>> cli = musicpd.MPDClient() >>> cli.pwd == environ['MPD_HOST'].split('@')[0] True >>> cli.host == environ['MPD_HOST'].split('@')[1] True >>> cli.connect() # will use host/port as set in MPD_HOST/MPD_PORT
Note
- default host:
use
MPD_HOST
environment variable if set, extract password if present,else use
XDG_RUNTIME_DIR
to looks for an existing file in${XDG_RUNTIME_DIR:-/run/}/mpd/socket
else set host to
localhost
- default port:
use
MPD_PORT
environment variable is setelse use
6600
Warning
Instance attribute host/port/pwd
While
musicpd.MPDClient.host
andmusicpd.MPDClient.port
keep track of current connection host and port,musicpd.MPDClient.pwd
is set once with password extracted from environment variable. Calling MPS’s password method with a new password won’t updatemusicpd.MPDClient.pwd
value.Moreover,
musicpd.MPDClient.pwd
is only an helper attribute exposing password extracted fromMPD_HOST
environment variable, it will not be used as default value for the MPD’s password command.- mpd_timeout
Current connection timeout value, defaults to
CONNECTION_TIMEOUT
or env. var.MPD_TIMEOUT
if provided
- mpd_version
Protocol version as exposed by the server as a
str
Note
This is the version of the protocol spoken, not the real version of the daemon.
- connect(host=None, port=None)[source]
Connects the MPD server
- Parameters:
If host/port are
None
the socket useshost
/port
attributes as defaults. Cf.MPDClient
for the logic behind default host/port.The underlying socket also honors
MPD_TIMEOUT
environment variable and defaults tomusicpd.CONNECTION_TIMEOUT
(connect command only).If you want to have a timeout for each command once you got connected, set its value in
MPDClient.socket_timeout
(in second) or at module level inmusicpd.SOCKET_TIMEOUT
.
- property socket_timeout
Socket timeout in second (defaults to
SOCKET_TIMEOUT
). UseNone
to disable socket timout.- Setter:
Set the socket timeout (integer > 0)
- Type:
int or None
- disconnect()[source]
Closes the MPD connection. The client closes the actual socket, it does not use the ‘close’ request from MPD protocol (as suggested in documentation).
- fileno()[source]
Return the socket’s file descriptor (a small integer). This is useful with
select.select
.