Source code for marathon.exceptions

[docs]class MarathonError(Exception): pass
[docs]class MarathonHttpError(MarathonError): def __init__(self, response): """ :param :class:`requests.Response` response: HTTP response """ self.error_message = response.reason or '' if response.content and 'application/json' in response.headers.get('content-type', ''): content = response.json() self.error_message = content.get('message', self.error_message) self.error_details = content.get('details') self.status_code = response.status_code super(MarathonHttpError, self).__init__(self.__str__()) def __repr__(self): return 'MarathonHttpError: HTTP %s returned with message, "%s"' % \ (self.status_code, self.error_message) def __str__(self): return self.__repr__()
[docs]class NotFoundError(MarathonHttpError): pass
[docs]class InternalServerError(MarathonHttpError): pass
[docs]class InvalidChoiceError(MarathonError): def __init__(self, param, value, options): super(InvalidChoiceError, self).__init__( 'Invalid choice "{value}" for param "{param}". Must be one of {options}'.format( param=param, value=value, options=options ) )