From 21e12cfb58cf8c94d562e11823c5af00a0b16a4a Mon Sep 17 00:00:00 2001 From: lefherz Date: Sun, 2 Jun 2019 16:37:37 +0200 Subject: better inheritance cascade for HTTP error codes, implemented more errors --- mastodon/Mastodon.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'mastodon') diff --git a/mastodon/Mastodon.py b/mastodon/Mastodon.py index bfc2a9b..76c22cf 100644 --- a/mastodon/Mastodon.py +++ b/mastodon/Mastodon.py @@ -2750,6 +2750,14 @@ class Mastodon: # on any 404 elif response_object.status_code == 401: ex_type = MastodonUnauthorizedError + elif response_object.status_code == 500: + ex_type = MastodonInternalServerError + elif response_object.status_code == 502: + ex_type = MastodonBadGatewayError + elif response_object.status_code == 503: + ex_type = MastodonServiceUnavailableError + elif response_object.status_code == 504: + ex_type = MastodonGatewayTimeoutError elif response_object.status_code >= 500 and \ response_object.status_code <= 511: ex_type = MastodonServerError @@ -3068,10 +3076,26 @@ class MastodonAPIError(MastodonError): """Raised when the mastodon API generates a response that cannot be handled""" pass -class MastodonServerError(MastodonError): +class MastodonServerError(MastodonAPIError): """Raised if the Server is malconfigured and returns a 5xx error code""" pass +class MastodonInternalServerError(MastodonServerError) + """Raised if the Server returns a 500 error""" + pass + +class MastodonBadGatewayError(MastodonServerError) + """Raised if the Server returns a 502 error""" + pass + +class MastodonServiceUnavailableError(MastodonServerError) + """Raised if the Server returns a 503 error""" + pass + +class MastodonGatewayTimeoutError(MastodonServerError) + """Raised if the Server returns a 504 error""" + pass + class MastodonNotFoundError(MastodonAPIError): """Raised when the mastodon API returns a 404 Not Found error""" pass -- cgit v1.2.3