import mpd from platypush.message.response import Response from .. import MusicPlugin class MusicMpdPlugin(MusicPlugin): def __init__(self, host, port): """ Constructor Params: host -- MPD host port -- MPD port """ self.host = host self.port = port self.client = mpd.MPDClient(use_unicode=True) self.client.connect(self.host, self.port) def _exec(self, method, *args, **kwargs): getattr(self.client, method)(*args, **kwargs) return self.status() def play(self): return self._exec('play') def pause(self): return self._exec('pause') def stop(self): return self._exec('stop') def next(self): return self._exec('next') def previous(self): return self._exec('previous') def setvol(self, vol): return self._exec('setvol', vol) def add(self, content): return self._exec('add', content) def playlistadd(self, playlist): return self._exec('playlistadd', playlist) def clear(self): return self._exec('clear') def status(self): return Response(output=self.client.status()) # vim:sw=4:ts=4:et: