diff options
-rw-r--r-- | mediagoblin/errormiddleware.py | 53 | ||||
-rw-r--r-- | mediagoblin/templates/mediagoblin/500.html | 49 | ||||
-rw-r--r-- | paste.ini | 12 | ||||
-rw-r--r-- | setup.py | 3 |
4 files changed, 66 insertions, 51 deletions
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 <http://www.gnu.org/licenses/>. + +from paste.exceptions.errormiddleware import make_error_middleware + +MGOBLIN_ERROR_MESSAGE = """\ +<div style="text-align:center;font-family: monospace"> + <h1>YEOWCH... that's an error!</h1> + <pre> +.-------------------------. +| __ _ | +| -, \_,------,_// | +| <\ ,-- --.\ | +| / ( X) (X ) | +| ' '--, ,--'\ | +| / \ -v-v-u-v / | +| . '.__.--__'.\ | +| / ',___/ / \__/' | +| | | ,'\_'/, || | +| \_| | | | | || | +| W',_ ||| |||_'' | +| | '------'| | +| |__| |_|_ | +| ,,,-' '-,,, | +'-------------------------' + </pre> + <p>Something bad happened, and things broke.</p> + <p>If this is not your website, you may want to alert the owner.</p> + <br><br> + <p> + Powered... er broken... by + <a href="http://www.mediagoblin.org">MediaGoblin</a>, + a <a href="http://www.gnu.org">GNU Project</a>. + </p> +</div>""" + + +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 @@ -<!-- -# 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 <http://www.gnu.org/licenses/>. ---> -<!doctype html> -<html> - <head> - <meta charset="utf-8"> - <title>500 error! GNU MediaGoblin is sorry...</title> - </head> - <body style="text-align:center;font-family: monospace"> - <h1>YEOWCH... that's an error!</h1> - <p> - .-------------------------.<br> - | __ _ |<br> - | -, \_,------,_// |<br> - | <\ ,-- --.\ |<br> - | / ( X) (X ) |<br> - | ' '--, ,--'\ |<br> - | / \ -v-v-u-v / |<br> - | . '.__.--__'.\ |<br> - | / ',___/ / \__/' |<br> - | | | ,'\_'/, || |<br> - | \_| | | | | || |<br> - | W',_ ||| |||_'' |<br> - | | '------'| |<br> - | |__| |_|_ |<br> - | ,,,-' '-,,, |<br> - '-------------------------'<br> - </p> - <p>Something bad happened, and things broke.</p> - <p>If this is not your website, you may want to alert the owner.</p> - <br><br> - <p>Powered... er broken... by <a href="http://www.mediagoblin.org">MediaGoblin</a>, a <a href="http://www.gnu.org">GNU Project</a>.</p> - </body> -</html> @@ -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 @@ -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 |