52 lines
1.5 KiB
Python
Raw Normal View History

2024-09-19 11:00:07 +01:00
import os
2024-09-19 11:00:35 +01:00
import sys
import json
2024-09-19 11:43:33 +01:00
from dotenv import load_dotenv
2024-09-19 11:00:07 +01:00
from lib.mqtt import create_client, update_disc, control_player, create_config
2024-09-20 07:41:26 +01:00
# Path to your .env file
dotenv_path = '/home/dietpi/floppy-ytube-player/.env'
# Load the .env file
load_dotenv(dotenv_path)
2024-09-19 11:43:33 +01:00
2024-09-19 11:00:07 +01:00
# Define the MQTT server details
broker = os.environ.get("broker")
port = int(os.environ.get("port"))
# MQTT username and password
username = os.environ.get('username')
password = os.environ.get('password')
2024-09-20 07:41:26 +01:00
print(f"Broker: {broker}, Port: {port}, Username: {username}")
2024-09-19 11:00:07 +01:00
client = create_client(broker, port, username, password)
create_config(client)
2024-09-19 11:00:35 +01:00
# Check if any arguments are passed
if len(sys.argv) > 1:
# Get the JSON argument from the command line
json_str = sys.argv[1]
try:
# Convert the JSON string into a dictionary
disc_data = json.loads(json_str)
# Pass the parsed data to the update_disc function
update_disc(client, disc_data)
except json.JSONDecodeError as e:
2024-09-20 07:41:26 +01:00
try:
if json_str == "EJECT":
control_player(client, "EJECT")
update_disc(client, {"type":"album", "id":"EJECT"})
elif json_str == "PLAY":
control_player(client, "PLAY")
except Exception:
2024-09-19 11:00:35 +01:00
print(f"Invalid JSON format: {e}")
else:
print("No JSON argument passed, running default control_player action.")
# You can still have the default behavior if no JSON is passed
2024-09-19 11:43:33 +01:00
# control_player(client, "EJECT")