From 3a373f724a7d52aaca37238126dcc4fcb937aa5b Mon Sep 17 00:00:00 2001
From: Julian Rother <julianr@fsmpi.rwth-aachen.de>
Date: Tue, 11 Oct 2016 18:18:51 +0200
Subject: [PATCH] Ensure the error page query does not raise more errors

---
 server.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/server.py b/server.py
index 95ee495..15d6679 100644
--- a/server.py
+++ b/server.py
@@ -177,7 +177,7 @@ def handle_not_found(e):
 @app.errorhandler(Exception)
 def handle_internal_error(e):
 	traceback.print_exc()
-	return render_template('500.html')
+	return render_template('500.html'), 500
 
 @sched_func(5*60, firstdelay=0)
 def dump_error_page():
@@ -227,7 +227,10 @@ def get_announcements(minlevel=0):
 	offset = timedelta()
 	if ismod():
 		offset = timedelta(hours=24)
-	return query('SELECT * FROM announcements WHERE NOT deleted AND ((time_expire = NULL) OR time_expire > ?) AND (? OR (visible AND time_publish < ?)) AND level >= ? ORDER BY level DESC', datetime.now()-offset, ismod(), datetime.now(), minlevel)
+	try:
+		return query('SELECT * FROM announcements WHERE NOT deleted AND ((time_expire = NULL) OR time_expire > ?) AND (? OR (visible AND time_publish < ?)) AND level >= ? ORDER BY level DESC', datetime.now()-offset, ismod(), datetime.now(), minlevel)
+	except:
+		return []
 
 @app.template_filter()
 def fixnl(s):
-- 
GitLab