From b633706e56b1711b731c93a6ab59416133f0401c Mon Sep 17 00:00:00 2001 From: Karl Hudgell Date: Fri, 20 Sep 2024 12:41:25 +0100 Subject: [PATCH] rework to simple string input --- main.py | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/main.py b/main.py index c0c01f4..0679f9c 100644 --- a/main.py +++ b/main.py @@ -23,32 +23,38 @@ create_config(client) # Check if any arguments are passed if len(sys.argv) > 1: # Get the JSON argument from the command line - json_str = sys.argv[1] + input_str = sys.argv[1] try: # Convert the JSON string into a dictionary - disc_data = json.loads(json_str.replace("'",'"')) - # Check if disc is the same as last inserted - if (disc_data == json.loads(check_current_disc(client))): - # If disc is the same, PLAY - control_player(client, "PLAY") - else: - # Pass the parsed data to the update_disc function - control_player(client, "PLAY") - update_disc(client, disc_data) + disc_data = input_str.split(":") + if disc_data[0] == "ytmusic": + disc_object = { + "Name":disc_data[1], + "type":disc_data[2], + "id":disc_data[3] + } + # Check if disc is the same as last inserted + if (disc_object == json.loads(check_current_disc(client))): + # If disc is the same, PLAY + control_player(client, "PLAY") + else: + # Pass the parsed data to the update_disc function + control_player(client, "PLAY") + update_disc(client, disc_data) except json.JSONDecodeError as e: try: - if json_str == "EJECT": + if input_str == "EJECT": # PAUSE the current playing item control_player(client, "PAUSE") - elif json_str == "PLAY": + elif input_str == "PLAY": # PLAY the current playing item control_player(client, "PLAY") - elif json_str == "PAUSE": + elif input_str == "PAUSE": # PAUSE the current playing item control_player(client, "PAUSE") else: - print(f"Can't process {json_str}") + print(f"Can't process {input_str}") except Exception: print(f"Invalid JSON format: {e}") else: