From 39b49156115cef7d3914502294da40643a3ee2bf Mon Sep 17 00:00:00 2001 From: Shravan Mandava Date: Wed, 31 Dec 2025 01:57:36 +0000 Subject: [PATCH] Print Track Details Get and Print current player data from DBus --- src/musefetch/__main__.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/src/musefetch/__main__.py b/src/musefetch/__main__.py index 73d8e8d..5c03b21 100644 --- a/src/musefetch/__main__.py +++ b/src/musefetch/__main__.py @@ -1,5 +1,32 @@ +import dbus +import json + + +def get_players(): + players = [] + + for name in dbus.SessionBus().list_names(): + if name.startswith("org.mpris.MediaPlayer2."): + players.append(name) + + return players + + def main(): - print("Hello World :)") + player = dbus.Interface( + dbus.SessionBus().get_object(get_players()[0], "/org/mpris/MediaPlayer2"), + "org.freedesktop.DBus.Properties", + ) + + playing = ( + True + if player.Get("org.mpris.MediaPlayer2.Player", "PlaybackStatus") == "Playing" + else False + ) + metadata = player.Get("org.mpris.MediaPlayer2.Player", "Metadata") + + print(f"Playing: {playing}") + print(json.dumps(metadata, indent=4)) if __name__ == "__main__":