From 02e3f17594d818247e58b63b9c5302e42b68d31f Mon Sep 17 00:00:00 2001 From: krateng Date: Sun, 6 Mar 2022 04:20:26 +0100 Subject: [PATCH] Hopefully fixed image proxying --- maloja/database/__init__.py | 4 ++-- maloja/server.py | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/maloja/database/__init__.py b/maloja/database/__init__.py index 8c19dbd..2d4f3dd 100644 --- a/maloja/database/__init__.py +++ b/maloja/database/__init__.py @@ -320,7 +320,7 @@ def track_info(dbconn=None,**keys): -def issues(): +def issues(dbconn=None): return ISSUES def check_issues(): @@ -413,7 +413,7 @@ def check_issues(): -def get_predefined_rulesets(): +def get_predefined_rulesets(dbconn=None): validchars = "-_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" rulesets = [] diff --git a/maloja/server.py b/maloja/server.py index a02cb27..924fbf8 100644 --- a/maloja/server.py +++ b/maloja/server.py @@ -5,6 +5,7 @@ from threading import Thread import setproctitle import pkg_resources from css_html_js_minify import html_minify, css_minify +import datauri # server stuff @@ -165,7 +166,14 @@ def dynamic_image(): result = get_artist_image(relevant['artist']) if result is None: return "" - redirect(result,307) + if result.startswith("data:"): + # data uris are directly served as image because a redirect to a data uri + # doesnt work + duri = datauri.DataURI(result) + response.content_type = duri.mimetype + return duri.data + else: + redirect(result,307) @webserver.route("/images/") @webserver.route("/images/")