# python-mpd: Python MPD client library
# Copyright (C) 2008-2010 J. Alexander Treuman <jat@spatialrift.net>
+# Copyright (C) 2012 Kaliko Jack <kaliko@azylum.org>
#
# python-mpd is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
"previous": self._fetch_nothing,
"seek": self._fetch_nothing,
"seekid": self._fetch_nothing,
+ "seekcur": self._fetch_nothing,
"stop": self._fetch_nothing,
# Playlist Commands
"add": self._fetch_nothing,
"listallinfo": self._fetch_database,
"lsinfo": self._fetch_database,
"search": self._fetch_songs,
+ "searchadd": self._fetch_nothing,
+ "searchaddpl": self._fetch_nothing,
"update": self._fetch_item,
"rescan": self._fetch_item,
# Sticker Commands
"tagtypes": self._fetch_list,
"urlhandlers": self._fetch_list,
"decoders": self._fetch_plugins,
+ # Client to Client
+ "subscribe": self._fetch_nothing,
+ "unsubscribe": self._fetch_nothing,
+ "channels": self._fetch_list,
+ "readmessages": self._fetch_messages,
+ "sendmessage": self._fetch_nothing,
}
def __getattr__(self, attr):
raise CommandListError("Cannot use send_%s in a command list" %
command.replace(" ", "_"))
self._write_command(command, args)
- self._pending.append(command)
+ retval = self._commands[command]
+ if retval is not None:
+ self._pending.append(command)
def _fetch(self, command, args=None):
if self._command_list is not None:
retval = self._commands[command]
if callable(retval):
return retval()
+ return retval
def _execute(self, command, args):
if self._iterating:
def _fetch_plugins(self):
return self._fetch_objects(["plugin"])
+ def _fetch_messages(self):
+ return self._fetch_objects(["channel"])
+
def _fetch_command_list(self):
return self._wrap_iterator(self._read_command_list())
sock = socket.socket(af, socktype, proto)
sock.connect(sa)
return sock
- except socket.error, err:
+ except socket.error as socket_err:
+ err = socket_err
if sock is not None:
sock.close()
if err is not None:
self._sock = self._connect_unix(host)
else:
self._sock = self._connect_tcp(host, port)
- self._rfile = self._sock.makefile("rb")
- self._wfile = self._sock.makefile("wb")
+ self._rfile = self._sock.makefile("r")
+ self._wfile = self._sock.makefile("w")
try:
self._hello()
except: