diff options
author | 2018-02-28 23:33:35 +0000 | |
---|---|---|
committer | 2018-02-28 23:33:35 +0000 | |
commit | c2dfc1bb34e8153bc7372ce6056c6883616ece9b (patch) | |
tree | 0df39f5f8d60d3f528d48347e9a5c8b276875175 /pysite/views | |
parent | reduce memory allocation from 2GB to 512MB (#28) (diff) |
Add error messages (#30)
* Add error messages
Signed-off-by: JoeBanks13 <[email protected]>
* Remove un-used keyword arg from 404
* Assert for status code instead of full content
* PEP8
* test lint
* please coverage
* oh
* Exclude websockets.py from coverage
* Move code output into terminal
* Switch typewriter href protocol
* Add tests for websockets.py
* Abort previous commit, coveralls did not let coverage go down
* Add more pauses and request => response
* move css and js out, add typewriter JS to our own repo & add method for appending text in bulk.
* Enable REPL on 4XX and change error descriptions
* commas
* /error path
Diffstat (limited to 'pysite/views')
-rw-r--r-- | pysite/views/api/bot/user.py | 1 | ||||
-rw-r--r-- | pysite/views/error_handlers/http_404.py | 12 | ||||
-rw-r--r-- | pysite/views/error_handlers/http_4xx.py | 22 | ||||
-rw-r--r-- | pysite/views/error_handlers/http_5xx.py | 17 | ||||
-rw-r--r-- | pysite/views/main/abort.py | 12 | ||||
-rw-r--r-- | pysite/views/main/error.py | 12 | ||||
-rw-r--r-- | pysite/views/tests/index.py | 1 |
7 files changed, 61 insertions, 16 deletions
diff --git a/pysite/views/api/bot/user.py b/pysite/views/api/bot/user.py index f80bb826..c9686f56 100644 --- a/pysite/views/api/bot/user.py +++ b/pysite/views/api/bot/user.py @@ -1,7 +1,6 @@ # coding=utf-8 from flask import jsonify - from schema import Schema from pysite.base_route import APIView diff --git a/pysite/views/error_handlers/http_404.py b/pysite/views/error_handlers/http_404.py deleted file mode 100644 index 1d557d9b..00000000 --- a/pysite/views/error_handlers/http_404.py +++ /dev/null @@ -1,12 +0,0 @@ -# coding=utf-8 -from werkzeug.exceptions import NotFound - -from pysite.base_route import ErrorView - - -class Error404View(ErrorView): - name = "error_404" - error_code = 404 - - def get(self, error: NotFound): - return "replace me with a template, 404 not found", 404 diff --git a/pysite/views/error_handlers/http_4xx.py b/pysite/views/error_handlers/http_4xx.py new file mode 100644 index 00000000..1417c1f6 --- /dev/null +++ b/pysite/views/error_handlers/http_4xx.py @@ -0,0 +1,22 @@ +# coding=utf-8 +from flask import render_template, request +from werkzeug.exceptions import NotFound + +from pysite.base_route import ErrorView +from pysite.constants import ERROR_DESCRIPTIONS + + +class Error400View(ErrorView): + name = "error_4xx" + error_code = range(400, 430) + + def get(self, error: NotFound): + error_desc = ERROR_DESCRIPTIONS.get(error.code, "We're not really sure what happened there, please try again.") + + return render_template("errors/error.html", code=error.code, req=request, error_title=error_desc, + error_message=error_desc + + " If you believe we have made a mistake, " + "please open an issue " + "on our GitHub (" + "https://github.com" + "/discord-python/site/issues)."), error.code diff --git a/pysite/views/error_handlers/http_5xx.py b/pysite/views/error_handlers/http_5xx.py index ed4d8d82..ecf4a35e 100644 --- a/pysite/views/error_handlers/http_5xx.py +++ b/pysite/views/error_handlers/http_5xx.py @@ -1,12 +1,25 @@ # coding=utf-8 +from flask import render_template, request from werkzeug.exceptions import HTTPException from pysite.base_route import ErrorView +from pysite.constants import ERROR_DESCRIPTIONS -class Error404View(ErrorView): +class Error500View(ErrorView): name = "error_5xx" error_code = range(500, 600) def get(self, error: HTTPException): - return "Internal server error. Please try again later!", error.code + error_desc = ERROR_DESCRIPTIONS.get(error.code, "We're not really sure what happened there, please try again.") + + return render_template("errors/error.html", code=error.code, req=request, error_title=error_desc, + error_message="An error occured while " + "processing this " + "request, please try " + "again later. " + "If you believe we have made a mistake, " + "please open an issue " + "on our GitHub (" + "https://github.com" + "/discord-python/site/issues)."), error.code diff --git a/pysite/views/main/abort.py b/pysite/views/main/abort.py new file mode 100644 index 00000000..d9e3282f --- /dev/null +++ b/pysite/views/main/abort.py @@ -0,0 +1,12 @@ +# coding=utf-8 +from werkzeug.exceptions import InternalServerError + +from pysite.base_route import RouteView + + +class EasterEgg500(RouteView): + path = "/500" + name = "500" + + def get(self): + raise InternalServerError diff --git a/pysite/views/main/error.py b/pysite/views/main/error.py new file mode 100644 index 00000000..18c20c6e --- /dev/null +++ b/pysite/views/main/error.py @@ -0,0 +1,12 @@ +# coding=utf-8 +from flask import abort + +from pysite.base_route import RouteView + + +class ErrorView(RouteView): + path = "/error/<int:code>" + name = "error" + + def get(self, code): + return abort(code) diff --git a/pysite/views/tests/index.py b/pysite/views/tests/index.py index 78b7ef2e..3071bf0e 100644 --- a/pysite/views/tests/index.py +++ b/pysite/views/tests/index.py @@ -1,7 +1,6 @@ # coding=utf-8 from flask import jsonify - from schema import Schema from pysite.base_route import RouteView |