From c076f605aa1738a59633386ea8ed3bddf40349a8 Mon Sep 17 00:00:00 2001 From: shortcutme <hello@noloop.me> Date: Thu, 10 Nov 2016 23:14:30 +0100 Subject: [PATCH] Rev1703, Allow custom favicon --- src/Config.py | 2 +- src/Ui/UiRequest.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Config.py b/src/Config.py index dd4726e7..252c3492 100644 --- a/src/Config.py +++ b/src/Config.py @@ -8,7 +8,7 @@ class Config(object): def __init__(self, argv): self.version = "0.5.0" - self.rev = 1702 + self.rev = 1703 self.argv = argv self.action = None self.config_file = "zeronet.conf" diff --git a/src/Ui/UiRequest.py b/src/Ui/UiRequest.py index 5e50b61c..71f82b98 100644 --- a/src/Ui/UiRequest.py +++ b/src/Ui/UiRequest.py @@ -55,7 +55,7 @@ class UiRequest(object): if path == "/": return self.actionIndex() - elif path.endswith("favicon.ico"): + elif path == "/favicon.ico": return self.actionFile("src/Ui/media/img/favicon.ico") # Media elif path.startswith("/uimedia/"): @@ -223,8 +223,10 @@ class UiRequest(object): address = re.sub("/.*", "", path.lstrip("/")) if self.isProxyRequest() and (not path or "/" in path[1:]): file_url = re.sub(".*/", "", inner_path) + root_url = "/" else: file_url = "/" + address + "/" + inner_path + root_url = "/" + address + "/" # Wrapper variable inits query_string = "" @@ -256,6 +258,8 @@ class UiRequest(object): cgi.escape(site.content_manager.contents["content.json"]["background-color"], True) if content.get("viewport"): meta_tags += '<meta name="viewport" id="viewport" content="%s">' % cgi.escape(content["viewport"], True) + if content.get("favicon"): + meta_tags += '<link rel="icon" href="%s%s">' % (root_url, cgi.escape(content["favicon"], True)) if content.get("postmessage_nonce_security"): postmessage_nonce_security = "true" @@ -355,6 +359,10 @@ class UiRequest(object): return self.actionRedirect("./{0}/".format(path_parts["inner_path"].split("/")[-1])) else: # File not exists, try to download site = SiteManager.site_manager.need(address, all_file=False) + + if path_parts["inner_path"].endswith("favicon.ico"): # Default favicon for all sites + return self.actionFile("src/Ui/media/img/favicon.ico") + result = site.needFile(path_parts["inner_path"], priority=5) # Wait until file downloads if result: return self.actionFile(file_path)