code refactoring

This commit is contained in:
sHa
2024-04-08 09:06:26 +03:00
parent 13475a7db4
commit f2a4978cf2
13 changed files with 269 additions and 183 deletions

57
main.py Normal file
View File

@@ -0,0 +1,57 @@
from dotenv import load_dotenv
from processors.status_send import StatusSend
from processors.music import MusicProcessor
from processors.text import TextProcessor
import argparse
import time
import os
load_dotenv()
SLEEP_TIME = 3
def get_status(source: str | None = None) -> dict:
if source == "random":
return TextProcessor(source=source).get_status()
if source in ["spotify", "apple_music", "autodetect"]:
track = MusicProcessor(source=source).get_status()
return track
return {}
def send_user_status(**kwargs) -> bool:
try:
now = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
print(
f"{now} Setting Mattermost status to {kwargs.get('emoji',{}).get('icon','')} {kwargs.get('text')} ⏱️ for {kwargs.get('duration')} seconds"
)
StatusSend().set_status(**kwargs)
return True
except Exception as e:
print(e)
return False
def main(source: str = "autodetect"):
status_curr = {"status": None}
while True:
status = get_status(source)
if status.get("text", "") != status_curr.get("text", ""):
status_result = send_user_status(**status)
status_curr = status
if not status_result:
continue
time.sleep(status.get("duration") or SLEEP_TIME)
if __name__ == "__main__":
parser = argparse.ArgumentParser()
# Source can be "autodetect", "spotify", "apple_music", "random"
parser.add_argument(
"--source", help="source to use for connector", default="autodetect"
)
args = parser.parse_args()
if args.source == "env":
args.source = os.getenv("SOURCE", "autodetect")
main(args.source)