Add option to disable the console broadcasts

This commit is contained in:
Joren 2024-09-24 15:17:58 +02:00
parent cc28f0f3c2
commit 7445627f7e
Signed by: Joren
GPG Key ID: 280E33DFBC0F1B55
4 changed files with 16 additions and 6 deletions

View File

@ -1,6 +1,7 @@
BaseDir = "/mnt/media"
Format = "mkv"
TempBaseDir = "/tmp/nre"
EnableConsole = true
[N_m3u8DLRE]
Path = "nre"

View File

@ -15,6 +15,7 @@ type Config struct {
N_m3u8DLRE struct {
Path string
}
EnableConsole bool
}
var config Config

View File

@ -132,8 +132,9 @@ func downloadFile(drmdFilename string, item Item, jobInfo *JobInfo) error {
for {
if outputBuffer.Len() > 0 {
message := outputBuffer.Bytes()
logger.LogInfo("Download File", fmt.Sprintf("Broadcasting message: %s", message))
broadcast(drmdFilename, message)
if config.EnableConsole {
broadcast(drmdFilename, message)
}
outputBuffer.Reset()
}
time.Sleep(1 * time.Second)

View File

@ -386,8 +386,13 @@ var clients = make(map[string]map[*websocket.Conn]bool)
var mu sync.Mutex
func handleWebSocket(w http.ResponseWriter, r *http.Request) {
fmt.Println(config.EnableConsole)
if !config.EnableConsole {
http.Error(w, "Console output is disabled", http.StatusForbidden)
return
}
filename := r.URL.Query().Get("filename")
fmt.Println("Filename:", filename)
if filename == "" {
http.Error(w, "Filename is required", http.StatusBadRequest)
return
@ -423,11 +428,13 @@ func handleWebSocket(w http.ResponseWriter, r *http.Request) {
}
func broadcast(filename string, message []byte) {
if !config.EnableConsole {
return
}
mu.Lock()
defer mu.Unlock()
logger.LogInfo("Broadcast", fmt.Sprintf("Broadcasting message for filename: %s", filename))
for client := range clients[filename] {
if err := client.WriteMessage(websocket.TextMessage, message); err != nil {
client.Close()