clemctl: WIP
This commit is contained in:
parent
415af8de98
commit
98d5674c0e
38
clemctl.py
Executable file
38
clemctl.py
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env python3
|
||||
"""Control Clementine from the command line using dbus."""
|
||||
|
||||
import dbus
|
||||
|
||||
CLEM_NAME = "org.mpris.MediaPlayer2.clementine"
|
||||
CLEM_PATH = "/org/mpris/MediaPlayer2"
|
||||
CLEM_PLAYER_NAME = "org.mpris.MediaPlayer2.Player"
|
||||
PROPS_NAME = "org.mpris.MediaPlayer2.Player"
|
||||
|
||||
|
||||
def main():
|
||||
bus = dbus.SessionBus()
|
||||
hour, minutes, seconds = get_position(bus)
|
||||
timestamp = f"{minutes:02}:{seconds:02}"
|
||||
if hour:
|
||||
timestamp = f"{hour}:{timestamp}"
|
||||
print(timestamp)
|
||||
|
||||
|
||||
def get_clementine_object(bus):
|
||||
clem_object = bus.get_object(CLEM_NAME, CLEM_PATH)
|
||||
return clem_object
|
||||
|
||||
|
||||
def get_position(bus):
|
||||
clem_object = get_clementine_object(bus)
|
||||
position = clem_object.Get(CLEM_PLAYER_NAME, "Position")
|
||||
timestamp_ns = int(position)
|
||||
timestamp_sec = timestamp_ns // 1_000_000
|
||||
timestamp_h = timestamp_sec // 3600
|
||||
timestamp_min = (timestamp_sec // 60) % 60
|
||||
timestamp_sec = timestamp_sec % 60
|
||||
return (timestamp_h, timestamp_min, timestamp_sec)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in a new issue