From 3a8822784f65da6ce3cac2b608c498b4c36336ec Mon Sep 17 00:00:00 2001 From: clemens Date: Tue, 16 Jan 2018 10:08:32 +0100 Subject: [PATCH] Add endpoint /random * selects a random sound and plays it --- soundboard.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/soundboard.py b/soundboard.py index 5002bba..f32f153 100644 --- a/soundboard.py +++ b/soundboard.py @@ -1,8 +1,10 @@ import os +import random import sys import subprocess import sqlite3 + from flask import Flask, render_template, request, redirect, url_for, send_from_directory, g import config @@ -147,3 +149,9 @@ ON tag.id = checked.id""", (sound,)) @app.route("/sounds/") def sounds(name): return send_from_directory(config.path, name) + +@app.route("/random") +def play_random(): + sounds = [os.fsencode(file).decode() for file in os.listdir(config.path)] + random_sound = random.sample(sounds, 1) + subprocess.Popen(["omxplayer", os.path.join(config.path, random_sound.encode("utf-8")], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) \ No newline at end of file