diff --git a/interface.py b/interface.py
index 7a6841f..3ca848b 100644
--- a/interface.py
+++ b/interface.py
@@ -6,7 +6,47 @@ import os.path
from os import listdir
import random
+
+class ReverseProxied(object):
+ '''Wrap the application in this middleware and configure the
+ front-end server to add these headers, to let you quietly bind
+ this to a URL other than / and to an HTTP scheme that is
+ different than what is used locally.
+
+ In nginx:
+ location /myprefix {
+ proxy_pass http://192.168.0.1:5001;
+ proxy_set_header Host $host;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Scheme $scheme;
+ proxy_set_header X-Script-Name /myprefix;
+ }
+
+ :param app: the WSGI application
+ '''
+
+ def __init__(self, app):
+ self.app = app
+
+ def __call__(self, environ, start_response):
+ script_name = environ.get('HTTP_X_SCRIPT_NAME', '')
+ if script_name:
+ environ['SCRIPT_NAME'] = script_name
+ path_info = environ['PATH_INFO']
+ if path_info.startswith(script_name):
+ environ['PATH_INFO'] = path_info[len(script_name):]
+
+ scheme = environ.get('HTTP_X_SCHEME', '')
+ if scheme:
+ environ['wsgi.url_scheme'] = scheme
+ real_ip = environ.get('HTTP_X_REAL_IP', '')
+ if real_ip:
+ environ['REMOTE_ADDR'] = real_ip
+ return self.app(environ, start_response)
+
+
web = Flask(__name__)
+web.wsgi_app = ReverseProxied(web.wsgi_app)
@web.route("/", methods=['GET', 'POST'])
@@ -21,7 +61,8 @@ def index():
if 'add_music' in request.form and ".." not in request.form['add_music']:
var.playlist.append(request.form['add_music'])
if 'add_folder' in request.form and ".." not in request.form['add_folder']:
- var.playlist.extend(files[request.form['add_folder']])
+ dir_files = [request.form['add_folder'] + '/' + i for i in files[request.form['add_folder']]]
+ var.playlist.extend(dir_files)
elif 'delete_music' in request.form:
try:
var.playlist.remove(request.form['delete_music'])
diff --git a/mumbleBot.py b/mumbleBot.py
index bb1aee0..e0f756c 100644
--- a/mumbleBot.py
+++ b/mumbleBot.py
@@ -130,7 +130,6 @@ class MumbleBot:
self.mumble.users[text.actor].send_message('
'.join(files))
else:
self.mumble.users[text.actor].send_message(self.config.get('strings', 'no_file'))
-
else:
self.mumble.users[text.actor].send_message(self.config.get('strings', 'bad_command'))
@@ -168,7 +167,6 @@ class MumbleBot:
time.sleep(0.1)
if (self.thread is None or not raw_music) and len(var.playlist) != 0:
- print("plop")
var.current_music = var.playlist[0]
var.playlist.pop(0)
self.launch_play_file()
diff --git a/templates/index.html b/templates/index.html
index 1dcf393..886cfc6 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -3,6 +3,8 @@