From 72ae87af4a0d5a9e30db220b3ec832721b027769 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 21 Aug 2011 00:09:29 -0500 Subject: [PATCH] Slightly wrapping paste error middleware and turning it on Now we can show a nice "borked goblin" error :) --- mediagoblin/errormiddleware.py | 53 ++++++++++++++++++++++ mediagoblin/templates/mediagoblin/500.html | 49 -------------------- paste.ini | 12 ++++- setup.py | 3 ++ 4 files changed, 66 insertions(+), 51 deletions(-) create mode 100644 mediagoblin/errormiddleware.py delete mode 100644 mediagoblin/templates/mediagoblin/500.html diff --git a/mediagoblin/errormiddleware.py b/mediagoblin/errormiddleware.py new file mode 100644 index 00000000..084b3684 --- /dev/null +++ b/mediagoblin/errormiddleware.py @@ -0,0 +1,53 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011 Free Software Foundation, Inc +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +from paste.exceptions.errormiddleware import make_error_middleware + +MGOBLIN_ERROR_MESSAGE = """\ +
+

YEOWCH... that's an error!

+
+.-------------------------.
+|     __            _     |
+|    -, \_,------,_//     |
+|     <\  ,--   --.\      |
+|      / (  X) (X  )      |
+|      '  '--, ,--'\      |
+|     / \ -v-v-u-v /      |
+|     .  '.__.--__'.\     |
+|    / ',___/ / \__/'     |
+|    | |   ,'\_'/, ||     |
+|    \_|   | | | | ||     |
+|     W',_ ||| |||_''     |
+|      |  '------'|       |
+|      |__|     |_|_      |
+|     ,,,-'     '-,,,     |
+'-------------------------'
+  
+

Something bad happened, and things broke.

+

If this is not your website, you may want to alert the owner.

+

+

+ Powered... er broken... by + MediaGoblin, + a GNU Project. +

+
""" + + +def mgoblin_error_middleware(app, global_conf, **kw): + kw['error_message'] = MGOBLIN_ERROR_MESSAGE + return make_error_middleware(app, global_conf, **kw) diff --git a/mediagoblin/templates/mediagoblin/500.html b/mediagoblin/templates/mediagoblin/500.html deleted file mode 100644 index 464630a7..00000000 --- a/mediagoblin/templates/mediagoblin/500.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - 500 error! GNU MediaGoblin is sorry... - - -

YEOWCH... that's an error!

-

- .-------------------------.
- |     __            _     |
- |    -, \_,------,_//     |
- |     <\  ,--   --.\      |
- |      / (  X) (X  )      |
- |      '  '--, ,--'\      |
- |     / \ -v-v-u-v /      |
- |     .  '.__.--__'.\     |
- |    / ',___/ / \__/'     |
- |    | |   ,'\_'/, ||     |
- |    \_|   | | | | ||     |
- |     W',_ ||| |||_''     |
- |      |  '------'|       |
- |      |__|     |_|_      |
- |     ,,,-'     '-,,,     |
- '-------------------------'
-

-

Something bad happened, and things broke.

-

If this is not your website, you may want to alert the owner.

-

-

Powered... er broken... by MediaGoblin, a GNU Project.

- - diff --git a/paste.ini b/paste.ini index 73fbe8e8..fc459989 100644 --- a/paste.ini +++ b/paste.ini @@ -1,7 +1,11 @@ [DEFAULT] -debug = true +# Set to true to enable web-based debugging messages and etc. +debug = false -[composite:main] +[pipeline:main] +pipeline = errors routing + +[composite:routing] use = egg:Paste#urlmap / = mediagoblin /mgoblin_media/ = publicstore_serve @@ -28,6 +32,10 @@ beaker.session.key = mediagoblin beaker.session.data_dir = %(here)s/user_dev/beaker/sessions/data beaker.session.lock_dir = %(here)s/user_dev/beaker/sessions/lock +[filter:errors] +use = egg:mediagoblin#errors +debug = false + [server:main] use = egg:Paste#http host = 127.0.0.1 diff --git a/setup.py b/setup.py index 40715dd0..d6ef584b 100644 --- a/setup.py +++ b/setup.py @@ -58,6 +58,9 @@ setup( [paste.app_factory] app = mediagoblin.app:paste_app_factory + [paste.filter_app_factory] + errors = mediagoblin.errormiddleware:mgoblin_error_middleware + [zc.buildout] make_user_dev_dirs = mediagoblin.buildout_recipes:MakeUserDevDirs -- 2.25.1