diff options
author | RaNaN <Mast3rRaNaN@hotmail.de> | 2011-09-21 16:43:22 +0200 |
---|---|---|
committer | RaNaN <Mast3rRaNaN@hotmail.de> | 2011-09-21 16:43:22 +0200 |
commit | 79ce6f862285f355455119d64d8aa1753cff0470 (patch) | |
tree | 238b2f309d2f90cb9c3d722b15748b45a6e5d6d1 /module/web | |
parent | yourfiles.biz fix (diff) | |
download | pyload-79ce6f862285f355455119d64d8aa1753cff0470.tar.xz |
royflos GUI patches, prefix option for webinterface (
Diffstat (limited to 'module/web')
-rw-r--r-- | module/web/middlewares.py | 2 | ||||
-rw-r--r-- | module/web/webinterface.py | 19 |
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 |