Merge pull request #154 from fredj/spotify_format
[module/spotify] Add new format string parameter
This commit is contained in:
commit
1db8168724
1 changed files with 7 additions and 1 deletions
|
@ -6,6 +6,8 @@ Requires the following library:
|
||||||
* python-dbus
|
* python-dbus
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
|
* spotify.format: Format string (defaults to "{artist} - {title}")
|
||||||
|
Available values are: {album}, {title}, {artist}, {trackNumber}
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import bumblebee.input
|
import bumblebee.input
|
||||||
|
@ -24,6 +26,7 @@ class Module(bumblebee.engine.Module):
|
||||||
bumblebee.output.Widget(full_text=self.spotify)
|
bumblebee.output.Widget(full_text=self.spotify)
|
||||||
)
|
)
|
||||||
self._song = ""
|
self._song = ""
|
||||||
|
self._format = self.parameter("format", "{artist} - {title}")
|
||||||
|
|
||||||
cmd="dbus-send --session --type=method_call --dest=org.mpris.MediaPlayer2.spotify \
|
cmd="dbus-send --session --type=method_call --dest=org.mpris.MediaPlayer2.spotify \
|
||||||
/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player."
|
/org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player."
|
||||||
|
@ -43,7 +46,10 @@ class Module(bumblebee.engine.Module):
|
||||||
spotify = bus.get_object("org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2")
|
spotify = bus.get_object("org.mpris.MediaPlayer2.spotify", "/org/mpris/MediaPlayer2")
|
||||||
spotify_iface = dbus.Interface(spotify, 'org.freedesktop.DBus.Properties')
|
spotify_iface = dbus.Interface(spotify, 'org.freedesktop.DBus.Properties')
|
||||||
props = spotify_iface.Get('org.mpris.MediaPlayer2.Player', 'Metadata')
|
props = spotify_iface.Get('org.mpris.MediaPlayer2.Player', 'Metadata')
|
||||||
self._song = (str(props['xesam:artist'][0]) + " - " + str(props['xesam:title']))
|
self._song = self._format.format(album=str(props.get('xesam:album')),
|
||||||
|
title=str(props.get('xesam:title')),
|
||||||
|
artist=','.join(props.get('xesam:artist')),
|
||||||
|
trackNumber=str(props.get('xesam:trackNumber')))
|
||||||
except Exception:
|
except Exception:
|
||||||
self._song = ""
|
self._song = ""
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue