commit: 3043c404e42901a1234d150e43daee99810b46f5
parent: b72aec0a9b2b548d7f6a8ddecedd58f5392b8372
Author: Adam Tauber <asciimoo@gmail.com>
Date:   Sat, 27 Aug 2016 22:08:58 +0200
Merge pull request #671 from kvch/custom-404
Custom 404 message - fixes #317
Diffstat:
6 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/searx/templates/courgette/404.html b/searx/templates/courgette/404.html
@@ -0,0 +1,7 @@
+{% extends "courgette/base.html" %}
+{% block content %}
+<div class="center">
+    <h1>{{ _('Page not found') }}</h1>
+    <p>{{ _('Go to <a href="/">search page</a>.') }}</p>
+</div>
+{% endblock %}
diff --git a/searx/templates/default/404.html b/searx/templates/default/404.html
@@ -0,0 +1,7 @@
+{% extends "default/base.html" %}
+{% block content %}
+<div class="center">
+    <h1>{{ _('Page not found') }}</h1>
+    <p>{{ _('Go to <a href="/">search page</a>.') }}</p>
+</div>
+{% endblock %}
diff --git a/searx/templates/oscar/404.html b/searx/templates/oscar/404.html
@@ -0,0 +1,7 @@
+{% extends "oscar/base.html" %}
+{% block content %}
+<div class="text-center">
+    <h1>{{ _('Page not found') }}</h1>
+    <p>{{ _('Go to <a href="/">search page</a>.') }}</p>
+</div>
+{% endblock %}
diff --git a/searx/templates/pix-art/404.html b/searx/templates/pix-art/404.html
@@ -0,0 +1,7 @@
+{% extends "pix-art/base.html" %}
+{% block content %}
+<div class="center">
+    <h1>{{ _('Page not found') }}</h1>
+    <p>{{ _('Go to <a href="/">search page</a>.') }}</p>
+</div>
+{% endblock %}
diff --git a/searx/webapp.py b/searx/webapp.py
@@ -715,6 +715,11 @@ def config():
                     'default_theme': settings['ui']['default_theme']})
 
 
+@app.errorhandler(404)
+def page_not_found(e):
+    return render('404.html')
+
+
 def run():
     app.run(
         debug=settings['general']['debug'],
diff --git a/tests/robot/test_basic.robot b/tests/robot/test_basic.robot
@@ -9,6 +9,11 @@ Front page
     Page Should Contain  about
     Page Should Contain  preferences
 
+404 page
+    Go To  http://localhost:11111/no-such-page
+    Page Should Contain  Page not found
+    Page Should Contain  Go to search page
+
 About page
     Click Element  link=about
     Page Should Contain  Why use searx?