Add random status generator

This commit is contained in:
sHa
2024-04-07 01:05:53 +03:00
parent 051b1b4e40
commit 13475a7db4
9 changed files with 157 additions and 55 deletions

55
processors/music.py Normal file
View File

@@ -0,0 +1,55 @@
import subprocess
from connectors.apple_music import AppleMusic
from connectors.spotify import Spotify
import os
from dotenv import load_dotenv
class MusicProcessor:
def __init__(self):
load_dotenv()
self.music_app = os.getenv("MUSIC_APP", "autodetect")
if self.music_app == "autodetect":
self.music_app = self.get_current_music_player()
self.connector: Spotify | AppleMusic | None = self.get_connector()
def get_connector(self) -> Spotify | AppleMusic | None:
match self.music_app:
case "spotify":
return Spotify()
case "apple_music":
return AppleMusic()
case _:
print("Active music player not found")
return None
def get_current_track_info(self) -> tuple:
if self.connector:
return self.connector.get_current_track_info()
return None, None, None, None
@staticmethod
def get_current_music_player():
spotify_status = (
subprocess.check_output(
"osascript -e 'application \"Spotify\" is running'", shell=True
)
.decode()
.strip()
)
apple_music_status = (
subprocess.check_output(
"osascript -e 'application \"Music\" is running'", shell=True
)
.decode()
.strip()
)
if spotify_status == "true":
player = "spotify"
elif apple_music_status == "true":
player = "apple_music"
else:
player = None
# print(f"Detected 📀 player: {player}")
return player

18
processors/text.py Normal file
View File

@@ -0,0 +1,18 @@
from connectors.random import Random
class TextProcessor:
def __init__(self, source: str | None = None):
self.source: str | None = source
self.connector = self.get_connector()
def get_connector(self):
if self.source == "random":
return Random()
else:
raise ValueError("Invalid source")
def get_satus(self) -> tuple:
if self.connector:
return self.connector.get_random_activity()
return None, None, None