]> git.ipfire.org Git - ipfire.org.git/commitdiff
i-use: Cleanup code and statically deliver 404 image
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 26 Oct 2018 17:26:45 +0000 (18:26 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 26 Oct 2018 17:26:45 +0000 (18:26 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Makefile.am
src/static/img/iuse-not-found.png [moved from src/templates/i-use/errors/IPFire-Banner1-Silver.png with 100% similarity]
src/templates/i-use/errors/IPFire-Banner1-Bronze.png [deleted file]
src/templates/i-use/errors/IPFire-Banner1-Gold.png [deleted file]
src/web/__init__.py
src/web/iuse.py

index 37ee832b58c90016e32585447738b1c61ac82e00..12080b72f66cd36f7ae9a439ca382c9c681a8c96 100644 (file)
@@ -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-Bronze.png b/src/templates/i-use/errors/IPFire-Banner1-Bronze.png
deleted file mode 100644 (file)
index 52ee919..0000000
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 (file)
index 9a0c8f8..0000000
Binary files a/src/templates/i-use/errors/IPFire-Banner1-Gold.png and /dev/null differ
index ff9a231dbf165972149952ae4030110bacf35a16..796ae60388b74ffd9c83820c1c1f64e987834a42 100644 (file)
@@ -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
index 71842d1d8547345c39fa030991dca6e65920d94b..c7dc319090f496452b14b0a7f1fdc3102291b329 100644 (file)
@@ -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)