40 lines
784 B
Python
40 lines
784 B
Python
import functools
|
|
import io
|
|
|
|
import flask
|
|
|
|
from werkzeug.wsgi import FileWrapper
|
|
|
|
import dibuixa
|
|
|
|
app = flask.Flask(__name__)
|
|
|
|
|
|
class HTTPError(flask.Response, Exception):
|
|
def __init__(self, *args, status_code, **kwargs):
|
|
super().__init__(*args, **kwargs)
|
|
self.status_code = status_code
|
|
|
|
|
|
def handle_errors(func):
|
|
@functools.wraps(func)
|
|
def wrapped(*args, **kwargs):
|
|
try:
|
|
return func(*args, **kwargs)
|
|
except HTTPError as r:
|
|
return r, r.status_code
|
|
except Exception:
|
|
return flask.Response("Oh no! Hi ha hagut un error en el servidor :(", status="Internal error"), 500
|
|
|
|
return wrapped
|
|
|
|
|
|
@app.route("/")
|
|
@handle_errors
|
|
def hola(code):
|
|
return "Hola"
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app.run()
|