Files
conjurer/file_webservice/conjurer_musician.py
T
2024-04-10 15:25:59 +02:00

71 lines
2.3 KiB
Python

import json
from pathlib import Path
from platform import uname
from sys import platform
from flask import Flask, jsonify, request
MUSIC_FOLDER = ""
if platform in ("linux", "linux2"):
SEPARATOR_FILE_PATH = "/"
if "microsoft-standard" in uname().release:
LOGFILE = "/home/mtuszowski/conjurer/discord_mus_service.log"
MUSIC_FOLDER = "/mnt/g/Muzyka/"
NETRC_FILE = "/home/mtuszowski/.netrc"
LOGSTORE = "/home/mtuszowski/conjurer/logs/"
ENCODING = "utf-8"
GRAPHICS_PATH = "/home/mtuszowski/conjurer/Conjurer_graphics/"
else:
LOGFILE = "/home/pi/Conjurer/discord_mus_service.log"
MEMORY_FIVE_SIARA = "/home/pi/Conjurer/pamiec.json"
SYSTEM_GPT_SETTINGS = "/home/pi/Conjurer/system_gpt_settings.json"
MEMORY_FIVE_MUZYKA = "/home/pi/Conjurer/pamiec_muzyki.json"
MUSIC_FOLDER = "/home/pi/RetroPie/mp3/"
SETTINGS_FILE = "/home/pi/Conjurer/settings.json"
NETRC_FILE = "/home/pi/.netrc"
LOGSTORE = "/home/pi/RetroPie/logs/"
ACCIDENT_LOG = "/home/pi/Conjurer/accident_log.json"
ENCODING = "utf-8"
GRAPHICS_PATH = "/home/pi/RetroPie/Conjurer_graphics/"
DIR_PATH_SADOX = "/home/pi/RetroPie/Fansadox/"
music_file_list = []
for mp3_item in Path.glob(Path(MUSIC_FOLDER), "**/*.mp3"):
temp_music_file = mp3_item.as_posix()
if platform == "win32":
temp_music_file = temp_music_file.replace("/", "\\")
music_file_list.append(temp_music_file)
app = Flask(__name__)
@app.route("/mp3", methods=["GET"])
def get_music_list():
return jsonify({"music_file_list": music_file_list})
# TODO: Przyjecie informacji o zmianie i dodanie pliku saute
@app.route("/update_mp3", methods=["POST"])
def update_music_list():
record = json.loads(request.data)
app.logger.info(record["item"])
music_file_list.append(record["item"])
return_data = (
jsonify(isError=False, message="Success", statusCode=200, data=record),
200,
)
return return_data
if __name__ == "__main__":
#app.run(debug=True, host="0.0.0.0")
from waitress import serve
serve(app, host="0.0.0.0", port=5000)
# TODO: Reskan co 24h
# TODO: Informacja o zmianie i update
# TODO: Move download Youtube i Spotify tutaj (bedzie potrzebny wtedy rest w obie strony)