From: Michael Tremer Date: Fri, 26 Oct 2018 17:26:45 +0000 (+0100) Subject: i-use: Cleanup code and statically deliver 404 image X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=395c1ac07822838e6e1d9804814be6209b86cd3d;p=ipfire.org.git i-use: Cleanup code and statically deliver 404 image Signed-off-by: Michael Tremer --- diff --git a/Makefile.am b/Makefile.am index 37ee832b..12080b72 100644 --- a/Makefile.am +++ b/Makefile.am @@ -282,6 +282,7 @@ static_fontsdir = $(staticdir)/fonts static_images_DATA = \ src/static/img/default-avatar.jpg \ src/static/img/ipfire-tux.png \ + src/static/img/iuse-not-found.png \ src/static/img/lightningwirelabs-logo.svg static_imagesdir = $(staticdir)/img diff --git a/src/templates/i-use/errors/IPFire-Banner1-Silver.png b/src/static/img/iuse-not-found.png similarity index 100% rename from src/templates/i-use/errors/IPFire-Banner1-Silver.png rename to src/static/img/iuse-not-found.png diff --git a/src/templates/i-use/errors/IPFire-Banner1-Bronze.png b/src/templates/i-use/errors/IPFire-Banner1-Bronze.png deleted file mode 100644 index 52ee9198..00000000 Binary files a/src/templates/i-use/errors/IPFire-Banner1-Bronze.png and /dev/null differ diff --git a/src/templates/i-use/errors/IPFire-Banner1-Gold.png b/src/templates/i-use/errors/IPFire-Banner1-Gold.png deleted file mode 100644 index 9a0c8f8d..00000000 Binary files a/src/templates/i-use/errors/IPFire-Banner1-Gold.png and /dev/null differ diff --git a/src/web/__init__.py b/src/web/__init__.py index ff9a231d..796ae603 100644 --- a/src/web/__init__.py +++ b/src/web/__init__.py @@ -220,7 +220,7 @@ class Application(tornado.web.Application): # i-use.ipfire.org self.add_handlers(r"i-use(\.dev)?\.ipfire\.org", [ - (r"/profile/([a-f0-9]{40})/([0-9]+).png", iuse.Image), + (r"/profile/([a-f0-9]{40})/([0-9]+).png", iuse.ImageHandler), ]) # boot.ipfire.org diff --git a/src/web/iuse.py b/src/web/iuse.py index 71842d1d..c7dc3190 100644 --- a/src/web/iuse.py +++ b/src/web/iuse.py @@ -1,14 +1,11 @@ #!/usr/bin/python -import datetime import logging -import os -import random import tornado.web from . import base -class Image(base.BaseHandler): +class ImageHandler(base.BaseHandler): def write_error(self, status_code, **kwargs): """ Select a random image from the errors directory @@ -16,33 +13,18 @@ class Image(base.BaseHandler): """ self.set_expires(3600) - self.set_header("Content-Type", "image/png") - - template_path = self.application.settings.get("template_path", "") - template_path = os.path.join(template_path, "i-use", "errors") - - images = os.listdir(template_path) - if images: - image = random.choice(images) - image = os.path.join(template_path, image) - - imgdata = None - with open(image, "rb") as f: - imgdata = f.read() - - self.finish(imgdata) + # Redirect to static image + self.redirect(self.static_url("img/iuse-not-found.png")) def get(self, profile_id, image_id): - image = None - when = self.get_argument_date("when", None) - logging.info("Rendering new image for profile: %s" % profile_id) - profile = self.fireinfo.get_profile_with_data(profile_id, when=when) if not profile: raise tornado.web.HTTPError(404, "Profile '%s' was not found." % profile_id) + logging.info("Rendering new image for profile: %s" % profile_id) + image_cls = self.iuse.get_imagetype(image_id) if not image_cls: raise tornado.web.HTTPError(404, "Image class is unknown: %s" % image_id)