From b88749b0c9cab81afa4fd25ccb2f5b4ee92c5375 Mon Sep 17 00:00:00 2001 From: Karl Date: Fri, 5 Nov 2021 10:43:00 +0000 Subject: [PATCH] udpate for no data --- screen_output.py | 47 +++++++++++++++++++++++++++++++++-------------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/screen_output.py b/screen_output.py index a58aa4d..277e949 100644 --- a/screen_output.py +++ b/screen_output.py @@ -9,25 +9,44 @@ from datetime import datetime async def current_track(): mopidy = await MopidyClient().connect() + if await mopidy.playback.get_state() == "stopped": + oled.text("Nothing", 32, 26, 1) + oled.text("Playing", 32, 36, 1) + return current_track_data = await mopidy.playback.get_current_track() time_position = datetime.fromtimestamp( await mopidy.playback.get_time_position() / 1000.0 ).strftime("%M:%S") - if "ytmusic" in current_track_data["uri"]: - totalTime = current_track_data["length"] - track_total_length = datetime.fromtimestamp(totalTime / 1000.0).strftime( - "%M:%S" - ) - current_data = { - "Artist": current_track_data["artists"][0]["name"], - "Album": current_track_data["album"]["name"], - "Song": current_track_data["name"], - "TrackTime": time_position + "/" + track_total_length, - } + if "album" in current_track_data: + totalTime = current_track_data["length"] + track_total_length = datetime.fromtimestamp(totalTime / 1000.0).strftime( + "%M:%S" + ) + current_data = { + "Artist": current_track_data["artists"][0]["name"], + "Album": current_track_data["album"]["name"], + "Song": current_track_data["name"], + "TrackTime": time_position + "/" + track_total_length, + } + elif "ytmusic:track" in current_track_data["uri"]: + totalTime = current_track_data["length"] + track_total_length = datetime.fromtimestamp(totalTime / 1000.0).strftime( + "%M:%S" + ) + current_data = { + "Artist": "-", + "Album": current_track_data["artists"][0]["name"], + "Song": current_track_data["name"], + "TrackTime": time_position + "/" + track_total_length, + } else: - stream_title = await mopidy.playback.get_stream_title() - artist_and_song = stream_title.split(" - ") + try: + stream_title = await mopidy.playback.get_stream_title() + artist_and_song = stream_title.split(" - ") + except: + stream_title = "None" + artist_and_song = ['None','None'] current_data = { "Artist": current_track_data["name"], "Album": artist_and_song[0], @@ -56,7 +75,7 @@ async def main(): oled.text("Floppy Player", 26, 0, 1) await current_track() oled.show() - time.sleep(10) + time.sleep(5) asyncio.run(main())