From c5915059770d7396ee327a31ab892da8bdc5c7e6 Mon Sep 17 00:00:00 2001 From: tobi-wan-kenobi Date: Sun, 19 Apr 2020 10:24:06 +0200 Subject: [PATCH] [modules/gpmdp] Update to latest API --- modules/contrib/gpmdp.py | 57 +++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/modules/contrib/gpmdp.py b/modules/contrib/gpmdp.py index 852c614..7aea271 100644 --- a/modules/contrib/gpmdp.py +++ b/modules/contrib/gpmdp.py @@ -6,51 +6,48 @@ Requires the following executable: * gpmdp-remote """ -import bumblebee.util -import bumblebee.input -import bumblebee.output -import bumblebee.engine +import core.module +import core.widget +import core.input -class Module(bumblebee.engine.Module): - def __init__(self, engine, config): +import util.cli + +class Module(core.module.Module): + def __init__(self, config): widgets = [ - bumblebee.output.Widget(name='gpmdp.prev'), - bumblebee.output.Widget(name='gpmdp.main', full_text=self.description), - bumblebee.output.Widget(name='gpmdp.next'), + core.widget.Widget(name='gpmdp.prev'), + core.widget.Widget(name='gpmdp.main', full_text=self.description), + core.widget.Widget(name='gpmdp.next'), ] - super(Module, self).__init__(engine, config, widgets) + super().__init__(config, widgets) - engine.input.register_callback(widgets[0], button=bumblebee.input.LEFT_MOUSE, + core.input.register(widgets[0], button=core.input.LEFT_MOUSE, cmd='playerctl previous') - engine.input.register_callback(widgets[1], button=bumblebee.input.LEFT_MOUSE, + core.input.register(widgets[1], button=core.input.LEFT_MOUSE, cmd='playerctl play-pause') - engine.input.register_callback(widgets[2], button=bumblebee.input.LEFT_MOUSE, + core.input.register(widgets[2], button=core.input.LEFT_MOUSE, cmd='playerctl next') - self._status = None - self._tags = None + self.__status = None + self.__tags = None def description(self, widget): - return self._tags if self._tags else 'n/a' + return self.__tags if self.__tags else 'n/a' - def update(self, widgets): - self._load_song() + def update(self): + self.__load_song() def state(self, widget): - if widget.name == 'gpmdp.prev': + if widget.name() == 'gpmdp.prev': return 'prev' - if widget.name == 'gpmdp.next': + if widget.name() == 'gpmdp.next': return 'next' - return self._status + return self.__status - def _load_song(self): - info = '' - try: - info = bumblebee.util.execute('gpmdp-remote current') - status = bumblebee.util.execute('gpmdp-remote status') - except RuntimeError: - pass - self._status = status.split('\n')[0].lower() - self._tags = info.split('\n')[0] + def __load_song(self): + info = util.cli.execute('gpmdp-remote current', ignore_errors=True) + status = util.cli.execute('gpmdp-remote status', ignore_errors=True) + self.__status = status.split('\n')[0].lower() + self.__tags = info.split('\n')[0] # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4