From feb6e167c6f1f906294e05d99ec6b91a44c3acf8 Mon Sep 17 00:00:00 2001 From: azlux Date: Mon, 2 Jan 2017 23:01:45 +0100 Subject: [PATCH] space allowed --- interface.py | 43 ++++++++++++++++++++++++++++++++++++++++++- mumbleBot.py | 2 -- templates/index.html | 7 ++++--- 3 files changed, 46 insertions(+), 6 deletions(-) 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 @@ + +
Refresh
@@ -22,7 +24,7 @@ @@ -32,10 +34,9 @@