Exception objects

Inheritance diagram of mwdblib.exc
class mwdblib.exc.MWDBError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Generic class for MWDB exceptions

Parameters
  • message (str) – Error message

  • http_error (requests.exceptions.HTTPError) – Original HTTP error

class mwdblib.exc.AuthError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Authentication error, raised on HTTP 401: Unauthorized.

class mwdblib.exc.ValidationError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Validation error, raised on HTTP 400: Bad Request. Check the message to find more information about this error.

Most possible causes are:

  • Search query syntax is incorrect

  • Metakey has wrong format

  • User/group name has wrong format

  • Unexpected None’s are provided as an argument

class mwdblib.exc.ObjectError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Object error, raised when specified object cannot be accessed or uploaded.

class mwdblib.exc.PermissionError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Permission error, raised when permissions are unsufficient (HTTP 403: Forbidden).

class mwdblib.exc.LimitExceededError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Rate limit exceeded error. MWDB will try to throttle requests unless obey_ratelimiter flag is set.

class mwdblib.exc.InternalError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Internal error. Something really bad occurred on the server side.

class mwdblib.exc.NotAuthenticatedError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Authentication is required for specified request but credentials are not set. Use MWDB.login() or set API key.

class mwdblib.exc.InvalidCredentialsError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Provided wrong password, API key has wrong format or was revoked.

class mwdblib.exc.UserPendingError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

User has just been registered and is waiting for acceptance.

class mwdblib.exc.UserDisabledError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

User is banned. Contact your administrator for more information.

class mwdblib.exc.MaintenanceUnderwayError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

MWDB has been turned into maintenance mode. Try again later.

class mwdblib.exc.ObjectNotFoundError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Object is not found, because it doesn’t exist or you are not permitted to access it.

class mwdblib.exc.TypeConflictError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Object you want to upload exists yet and has different type. Use MWDB.query() to find it.

If you don’t have access (ObjectNotFoundError is raised), try to upload it as config or blob.

Double check whether the data you want to upload are meaningful (not an empty file or single string).

class mwdblib.exc.BadResponseError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Can’t decode JSON response from server. Probably APIClient.api_url points to the MWDB web app instead of MWDB REST API.

class mwdblib.exc.GatewayError(message: Optional[str] = None, http_error: Optional[requests.exceptions.HTTPError] = None)[source]

Bad Gateway or Gateway Timeout. It is serious but usually temporary, can be caused by new version deploy or lack of resources.