From 165b79cc420985d8fc1b1738f81c82727917da68 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 29 May 2020 13:28:12 +0100 Subject: [PATCH] Add favicon --- README.md | 5 +++++ daemon.py | 35 +++++++++++++++++++++++++++++++++++ img/icons/favicon.ico | Bin 0 -> 1150 bytes 3 files changed, 40 insertions(+) create mode 100644 img/icons/favicon.ico diff --git a/README.md b/README.md index 1563eb9b3..629eac070 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,11 @@ If you want to use a particular font then copy it into the *fonts* directory, re systemctl restart epicyon ``` +## Custom Favicon + +If you want to use your own favicon then copy your `favicon.ico` file to the base directory where you installed Epicyon. + + ## Adding Themes If you want to add a new theme then open `theme.py` and add the theme name to the list within `getThemesList`. Add a function with the name `setTheme[YourThemeName]`. Have a look at the other themes to get an idea of how to set the colors and fonts. diff --git a/daemon.py b/daemon.py index 4a497e9e5..6107ce064 100644 --- a/daemon.py +++ b/daemon.py @@ -1815,6 +1815,41 @@ class PubServer(BaseHTTPRequestHandler): self._404() return + # favicon image + if '/favicon.ico' in self.path: + # custom favicon + mediaFilename = \ + self.server.baseDir + '/favicon.ico' + if not os.path.isfile(mediaFilename): + # default favicon + mediaFilename = \ + self.server.baseDir + '/img/icons/favicon.ico' + if self._etag_exists(mediaFilename): + # The file has not changed + self._304() + return + if self.server.iconsCache.get(mediaStr): + mediaBinary = self.server.iconsCache[mediaStr] + self._set_headers_etag(mediaFilename, + 'image/png', + mediaBinary, cookie, + callingDomain) + self._write(mediaBinary) + return + else: + if os.path.isfile(mediaFilename): + with open(mediaFilename, 'rb') as avFile: + mediaBinary = avFile.read() + self._set_headers_etag(mediaFilename, + 'image/png', + mediaBinary, cookie, + callingDomain) + self._write(mediaBinary) + self.server.iconsCache[mediaStr] = mediaBinary + return + self._404() + return + self._benchmarkGETtimings(GETstartTime, GETtimings, 22) # cached avatar images diff --git a/img/icons/favicon.ico b/img/icons/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c7cb1bbbe0ff1c57a5974ddeb09fc6dc8e31d96f GIT binary patch literal 1150 zcmd6iF$%&!6hud`RbpdnN^griEjn+X0&v#!*{v3}tERlq{d;~rpPuafdfiU0f41u1 zOT8G^Ywhb~RFvX<6>IZ8lj>bwbGw$8QhT=J)Jwm~hVrrh(f+Zy&JA%PPkcyyUVVs- zc{bzLF)rpSFO6|2|CelPU(G7s>QfbPW^GvI1327){T0|=fZLJW7