summaryrefslogtreecommitdiffstats
path: root/module/web
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-09-21 16:43:22 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2011-09-21 16:43:22 +0200
commit79ce6f862285f355455119d64d8aa1753cff0470 (patch)
tree238b2f309d2f90cb9c3d722b15748b45a6e5d6d1 /module/web
parentyourfiles.biz fix (diff)
downloadpyload-79ce6f862285f355455119d64d8aa1753cff0470.tar.xz
royflos GUI patches, prefix option for webinterface (
Diffstat (limited to 'module/web')
-rw-r--r--module/web/middlewares.py2
-rw-r--r--module/web/webinterface.py19
2 files changed, 18 insertions, 3 deletions
diff --git a/module/web/middlewares.py b/module/web/middlewares.py
index a4b962988..e0e6c3102 100644
--- a/module/web/middlewares.py
+++ b/module/web/middlewares.py
@@ -25,7 +25,7 @@ class PrefixMiddleware(object):
def __call__(self, e, h):
path = e["PATH_INFO"]
if path.startswith(self.prefix):
- e['PATH_INFO'] = path.relace(self.prefix, "", 1)
+ e['PATH_INFO'] = path.replace(self.prefix, "", 1)
return self.app(e, h)
# (c) 2005 Ian Bicking and contributors; written for Paste (http://pythonpaste.org)
diff --git a/module/web/webinterface.py b/module/web/webinterface.py
index d2b96b03c..d6b7f8438 100644
--- a/module/web/webinterface.py
+++ b/module/web/webinterface.py
@@ -35,7 +35,7 @@ import bottle
from bottle import run, app
from jinja2 import Environment, FileSystemLoader, PrefixLoader, FileSystemBytecodeCache
-from middlewares import StripPathMiddleware, GZipMiddleWare
+from middlewares import StripPathMiddleware, GZipMiddleWare, PrefixMiddleware
SETUP = None
PYLOAD = None
@@ -59,6 +59,14 @@ JS = JsEngine()
TEMPLATE = config.get('webinterface', 'template')
DL_ROOT = config.get('general', 'download_folder')
LOG_ROOT = config.get('log', 'log_folder')
+PREFIX = config.get('webinterface', 'prefix')
+
+if PREFIX:
+ if PREFIX.endswith("/"):
+ PREFIX = PREFIX[:1]
+ if not PREFIX.startswith("/"):
+ PREFIX = "/" + PREFIX
+
DEBUG = config.get("general","debug_mode") or "-d" in sys.argv or "--debug" in sys.argv
bottle.debug(DEBUG)
@@ -82,7 +90,10 @@ env.filters["path_make_absolute"] = path_make_absolute
env.filters["decode"] = decode
env.filters["type"] = lambda x: str(type(x))
env.filters["formatsize"] = formatSize
-
+if PREFIX:
+ env.filters["url"] = lambda x: x
+else:
+ env.filters["url"] = lambda x: PREFIX + x if x.startswith("/") else x
translation = gettext.translation("django", join(PYLOAD_DIR, "locale"),
languages=["en", config.get("general","language")])
@@ -100,6 +111,10 @@ session_opts = {
web = StripPathMiddleware(SessionMiddleware(app(), session_opts))
web = GZipMiddleWare(web)
+
+if PREFIX:
+ web = PrefixMiddleware(web, prefix=PREFIX)
+
#TODO: compress plugin, install(otfcompress)
import pyload_app