boyska 4 years ago
parent
commit
f6c06d55d6
2 changed files with 25 additions and 0 deletions
  1. 10 0
      app.py
  2. 15 0
      templates/player.html

+ 10 - 0
app.py

@@ -89,6 +89,16 @@ def upload(site):
 
 
 @app.route("/listen/<fname>")
+def play(fname):
+    # prevent path traversal or any other trick
+    if "/" in fname or not re.match(r"^[a-z0-9]*.(ogg|wav)", fname):
+        abort(400)
+    fpath = os.path.join(UPLOAD_DIR, fname)
+    if not os.path.exists(fpath):
+        abort(404)
+    return render_template('player.html', fname=fname)
+
+@app.route("/download/<fname>")
 def dl(fname):
     # prevent path traversal or any other trick
     if "/" in fname or not re.match(r"^[a-z0-9]*.(ogg|wav)", fname):

+ 15 - 0
templates/player.html

@@ -0,0 +1,15 @@
+<!doctype html>
+<html>
+    <body>
+        <div>
+        <audio  controls>
+            <source src="{{url_for('dl', fname=fname)}}">
+        </audio>
+        </div>
+        <div>
+            <a href="{{url_for('dl', fname=fname)}}">
+                Download
+            </a>
+        </div>
+    </body>
+</html>