Bring back the ascii art goblin! For python 2 anyway.
authorChristopher Allan Webber <cwebber@dustycloud.org>
Fri, 10 Oct 2014 20:46:08 +0000 (15:46 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Fri, 10 Oct 2014 20:46:08 +0000 (15:46 -0500)
This does a "friendly" fallback where it skips the middleware on python 3.

mediagoblin/errormiddleware.py
paste.ini

index c6789f32d6b77f5c1db1bfbf0a5dd99978f8c95a..da729d145f1ec57d7ef560b077a41a5126a9c672 100644 (file)
@@ -14,8 +14,6 @@
 # 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>
@@ -56,5 +54,11 @@ def mgoblin_error_middleware(app, global_conf, **kw):
     It should take all of Paste's default options, so see:
       http://pythonpaste.org/modules/exceptions.html
     """
+    # No paste?  Fail in a friendly way!
+    try:
+        from paste.exceptions.errormiddleware import make_error_middleware
+    except ImportError:
+        return app
+
     kw['error_message'] = MGOBLIN_ERROR_MESSAGE
     return make_error_middleware(app, global_conf, **kw)
index 77364c0929c973efdcb9a578eebe621fe3a86820..68fd9dea43c889ec256b29536368902a8e1ddb99 100644 (file)
--- a/paste.ini
+++ b/paste.ini
@@ -6,8 +6,7 @@
 debug = false
 
 [pipeline:main]
-# pipeline = errors mediagoblin
-pipeline = mediagoblin
+pipeline = errors mediagoblin
 
 [app:mediagoblin]
 use = egg:mediagoblin#app