mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-14 21:38:38 +00:00
Music tracker
This commit is contained in:
@@ -13,6 +13,13 @@ IN_COMM_Q = Queue()
|
||||
awaiting_q = []
|
||||
incoming_q = Queue()
|
||||
app = Flask(__name__)
|
||||
prepped_tracks = {
|
||||
"requests" : "",
|
||||
"hits" : "",
|
||||
"all": "",
|
||||
"prio":"",
|
||||
"jingles":""
|
||||
}
|
||||
class QueryControl:
|
||||
"""
|
||||
This class `QueryControl` is used to manage queries with information about the author, UUID,
|
||||
@@ -30,6 +37,16 @@ class QueryControl:
|
||||
)
|
||||
self.replies = []
|
||||
|
||||
@app.route("/prepped_tracks", methods=["POST"])
|
||||
def log_radio_tracks():
|
||||
app.logger.info(request)
|
||||
record = json.loads(request.data)
|
||||
app.logger.info(record)
|
||||
app.logger.info("DATA RECEIVED")
|
||||
incoming_q.put(record)
|
||||
return jsonify("SUCCESS")
|
||||
|
||||
|
||||
@app.route("/conjurer", methods=["POST"])
|
||||
def answer_external_command():
|
||||
"""
|
||||
|
||||
@@ -8,6 +8,7 @@ import json
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
import requests
|
||||
import threading
|
||||
import time
|
||||
from datetime import datetime
|
||||
@@ -18,6 +19,8 @@ from sys import platform
|
||||
from flask import Flask, jsonify, redirect, request, send_from_directory, render_template
|
||||
from waitress import serve
|
||||
|
||||
MAIN_BOT_ADDRESS = "http://192.168.1.191:5000"
|
||||
MUSIC_TRACKER = "/prepped_tracks"
|
||||
HOST_ADDRESS = "192.168.1.15"
|
||||
PORT_ADDRESS = 5000
|
||||
if platform in ("linux", "linux2"):
|
||||
@@ -28,6 +31,7 @@ if platform in ("linux", "linux2"):
|
||||
NETRC_FILE = "/home/mtuszowski/.netrc"
|
||||
LOGSTORE = "/home/mtuszowski/conjurer/logs/"
|
||||
ENCODING = "utf-8"
|
||||
RADIOLOG_PATH = '/home/pi/Conjurer/radio_log.log'
|
||||
|
||||
else:
|
||||
LOGFILE = "/home/pi/Conjurer/discord_mus_service.log"
|
||||
@@ -36,6 +40,7 @@ if platform in ("linux", "linux2"):
|
||||
ENCODING = "utf-8"
|
||||
MUSIC_FOLDER = "/home/pi/RetroPie/mp3/"
|
||||
PRIORITY_FOLDER = "/home/pi/RetroPie/mp3/Magiczne i chuj/"
|
||||
RADIOLOG_PATH = '/home/pi/Conjurer/radio_log.log'
|
||||
|
||||
|
||||
music_file_list = []
|
||||
@@ -96,11 +101,10 @@ def scan_tracks():
|
||||
#Set the filename and open the file
|
||||
logger = logging.getLogger("conjurer_musician")
|
||||
|
||||
filename = '/home/pi/Conjurer/radio_log.log'
|
||||
file = open(filename,'r')
|
||||
file = open(RADIOLOG_PATH,'r')
|
||||
|
||||
#Find the size of the file and move to the end
|
||||
st_results = os.stat(filename)
|
||||
st_results = os.stat(RADIOLOG_PATH)
|
||||
st_size = st_results[6]
|
||||
file.seek(st_size)
|
||||
|
||||
@@ -112,7 +116,34 @@ def scan_tracks():
|
||||
file.seek(where)
|
||||
else:
|
||||
if re.match(".*Prepared.*",line):
|
||||
if re.match("*.jingles*.", line):
|
||||
logger.info("jingles")
|
||||
logger.info(line) # already has newline
|
||||
result = ["jingles", line]
|
||||
elif re.match("*.priority*.", line):
|
||||
logger.info("priority")
|
||||
logger.info(line) # already has newline
|
||||
result = ["priority", line]
|
||||
elif re.match("*.hit*.", line):
|
||||
logger.info("priority")
|
||||
logger.info(line) # already has newline
|
||||
result = ["hit", line]
|
||||
elif re.match("*.all_playlist*.", line):
|
||||
logger.info("all")
|
||||
logger.info(line) # already has newline
|
||||
result = ["all", line]
|
||||
elif re.match("*.request*.", line):
|
||||
logger.info("requests")
|
||||
logger.info(line) # already has newline
|
||||
result = ["requests", line]
|
||||
result = requests.post(
|
||||
f"{MAIN_BOT_ADDRESS}{MUSIC_TRACKER}",
|
||||
json=result,
|
||||
timeout=360)
|
||||
logger.info("SENT")
|
||||
logger.info(result.status_code)
|
||||
logger.info("SEND CONFIRMED")
|
||||
time.sleep(1)
|
||||
time.sleep(0.1)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user