dotfiles/scripts/spot-data
2022-02-13 21:02:44 -05:00

33 lines
1.0 KiB
Python
Executable File

#!/usr/bin/env python
# vim: ft=python
import dbus
try:
sess = dbus.SessionBus()
spotify = sess.get_object('org.mpris.MediaPlayer2.spotify', '/org/mpris/MediaPlayer2')
properties = dbus.Interface(spotify, 'org.freedesktop.DBus.Properties')
metadata = properties.Get("org.mpris.MediaPlayer2.Player", "Metadata")
status = properties.Get("org.mpris.MediaPlayer2.Player", "PlaybackStatus")
artist = metadata['xesam:artist'][0] if metadata['xesam:artist'] else ''
song = metadata['xesam:title'] if metadata['xesam:title'] else ''
album = metadata['xesam:album'] if metadata['xesam:album'] else ''
pause_symbol = ""
play_symbol = ""
if (not song and not artist):
print("")
if (song == "Advertisement" or not artist):
print(pause_symbol + "Advertisement")
else:
symbol = pause_symbol
if status == "Playing":
symbol = play_symbol
print(f"{symbol} {song}: {artist}"[:25] + "...")
except dbus.exceptions.DBusException:
print("")