Source code for route4me.sdk.errors

# -*- coding: utf-8 -*-


[docs]class Route4MeError(Exception): """ Base (abstract) Exception """ def __init__( self, message, code='route4me.sdk.other', details=None, inner=None, ): super(Route4MeError, self).__init__(message) #: Unique error code. Helps to distinguish different errors. #: #: :type: str self.code = code if details is not None: assert isinstance(details, dict) #: Some error details #: #: :type: dict self.details = details #: Internal exception that describes an original error. #: #: :type: Exception self.inner = inner
[docs] def get_message(self): return super(Route4MeError, self).__str__()
def __str__(self): s = '{tp}: [{code}] {message}'.format( tp=type(self).__name__, code=self.code, message=self.get_message(), ) return s
[docs]class Route4MeNetworkError(Route4MeError): """ Route4Me SDK network/connection errors. Occurs on: - invalid SSL - network timeout - wrong redirects (Route4Me API doesn't send redirect responses) - no connection, no path to route (DNS) More details could be observed using :py:attr:`~.Route4MeError.code` and :py:attr:`~.Route4MeError.details` """ pass
[docs]class Route4MeValidationError(Route4MeError): """ Route4Me Validation error. Variable has invalid format/data """ pass