33 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			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("")
 |