platypush/platypush/plugins/music/mpd/__init__.py

57 lines
1.2 KiB
Python
Raw Normal View History

import mpd
from platypush.message.response import Response
from .. import MusicPlugin
class MusicMpdPlugin(MusicPlugin):
2017-12-18 01:10:51 +01:00
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)
2017-12-18 01:10:51 +01:00
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')
2017-11-03 15:06:29 +01:00
def next(self):
return self._exec('next')
2017-11-03 15:06:29 +01:00
def previous(self):
return self._exec('previous')
2017-11-03 15:06:29 +01:00
def setvol(self, vol):
return self._exec('setvol', vol)
2017-11-03 15:06:29 +01:00
def add(self, content):
return self._exec('add', content)
2017-11-03 15:06:29 +01:00
def playlistadd(self, playlist):
return self._exec('playlistadd', playlist)
2017-11-03 15:06:29 +01:00
def clear(self):
return self._exec('clear')
2017-11-03 15:06:29 +01:00
def status(self):
return Response(output=self.client.status())
# vim:sw=4:ts=4:et: