From 23fe19437d45918b3292b58a6e232d3df8ad6ae3 Mon Sep 17 00:00:00 2001 From: Yigit Sever Date: Sun, 3 Oct 2021 04:19:24 +0300 Subject: polybar: pacman is managing spotify_status --- .config/polybar/spotify_status.py | 123 -------------------------------------- 1 file changed, 123 deletions(-) delete mode 100644 .config/polybar/spotify_status.py diff --git a/.config/polybar/spotify_status.py b/.config/polybar/spotify_status.py deleted file mode 100644 index 3a56096..0000000 --- a/.config/polybar/spotify_status.py +++ /dev/null @@ -1,123 +0,0 @@ -#!/bin/python - -import sys -import dbus -import argparse - -parser = argparse.ArgumentParser() -parser.add_argument( - '-t', - '--trunclen', - type=int, - metavar='trunclen' -) -parser.add_argument( - '-f', - '--format', - type=str, - metavar='custom format', - dest='custom_format' -) -parser.add_argument( - '-p', - '--playpause', - type=str, - metavar='play-pause indicator', - dest='play_pause' -) -parser.add_argument( - '--font', - type=str, - metavar='the index of the font to use for the main label', - dest='font' -) -parser.add_argument( - '--playpause-font', - type=str, - metavar='the index of the font to use to display the playpause indicator', - dest='play_pause_font' -) - - -args = parser.parse_args() - -def fix_string(string): - # corrects encoding for the python version used - if sys.version_info.major == 3: - return string - else: - return string.encode('utf-8') - -# Default parameters -output = fix_string(u'{play_pause} {artist}: {song}') -trunclen = 25 -play_pause = fix_string(u'\u25B6,\u23F8') # first character is play, second is paused - -label_with_font = '%{{T{font}}}{label}%{{T-}}' -font = args.font -play_pause_font = args.play_pause_font - -# parameters can be overwritten by args -if args.trunclen is not None: - trunclen = args.trunclen -if args.custom_format is not None: - output = args.custom_format -if args.play_pause is not None: - play_pause = args.play_pause - -try: - session_bus = dbus.SessionBus() - spotify_bus = session_bus.get_object( - 'org.mpris.MediaPlayer2.spotify', - '/org/mpris/MediaPlayer2' - ) - - spotify_properties = dbus.Interface( - spotify_bus, - 'org.freedesktop.DBus.Properties' - ) - - metadata = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'Metadata') - status = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'PlaybackStatus') - - # Handle play/pause label - - play_pause = play_pause.split(',') - - if status == 'Playing': - play_pause = play_pause[0] - elif status == 'Paused': - play_pause = play_pause[1] - else: - play_pause = str() - - if play_pause_font: - play_pause = label_with_font.format(font=play_pause_font, label=play_pause) - - # Handle main label - - artist = fix_string(metadata['xesam:artist'][0]) if metadata['xesam:artist'] else '' - song = fix_string(metadata['xesam:title']) if metadata['xesam:title'] else '' - album = fix_string(metadata['xesam:album']) if metadata['xesam:album'] else '' - - if not artist and not song and not album: - print('') - else: - if len(song) > trunclen: - song = song[0:trunclen] - song += '...' - if ('(' in song) and (')' not in song): - song += ')' - - if font: - artist = label_with_font.format(font=font, label=artist) - song = label_with_font.format(font=font, label=song) - album = label_with_font.format(font=font, label=album) - - print(output.format(artist=artist, song=song, play_pause=play_pause, album=album)) - -except Exception as e: - if isinstance(e, dbus.exceptions.DBusException): - print('') - else: - print(e) -- cgit v1.2.3-70-g09d2