diff --git a/digits/views.py b/digits/views.py index 6068cecc5..fb6fb6c9e 100644 --- a/digits/views.py +++ b/digits/views.py @@ -641,12 +641,19 @@ def handle_error(e): trace=trace, ), status_code -# Register this handler for all error codes -# Necessary for flask<=0.10.1 -for code in HTTP_STATUS_CODES: - if code not in [301]: - app.register_error_handler(code, handle_error) +# Register this handler for all error codes. +# In flask>=0.11 only codes that are defined +# in werkzeug default_exceptions are valid +if str(flask.__version__) >= "0.11": + for code in HTTP_STATUS_CODES: + if code in werkzeug.exceptions.default_exceptions: + app.register_error_handler(code, handle_error) +# Necessary for flask<=0.10.1 +else: + for code in HTTP_STATUS_CODES: + if code not in [301]: + app.register_error_handler(code, handle_error) # File serving diff --git a/digits/webapp.py b/digits/webapp.py index caea4f6dc..82ae71110 100644 --- a/digits/webapp.py +++ b/digits/webapp.py @@ -4,7 +4,11 @@ import os import flask -from flask.ext.socketio import SocketIO +try: + from flask_socketio import SocketIO +except ImportError: + from flask.ext.socketio import SocketIO + from gevent import monkey monkey.patch_all()