Source code for sunlight.errors

# Copyright (c) Sunlight Labs, 2012 under the terms and conditions
# of the LICENSE file.

"""
.. module:: sunlight.errors
    :synopsis: Exceptions and Errors
"""


[docs]class SunlightException(Exception): """ :class:`sunlight.errors.SunlightException` is the base exception, all other sunlight exceptions (such as :class:`sunlight.errors.NoAPIKeyException`) all inherit from this. This makes it easy to catch all sunlight errors if you really really need to (not that you should) """ def __init__(self, value): """ This is just your basic __init__ method, nothing special here. Args: value (str): Message to report with the Exception """ self.value = value def __str__(self): """ Return the string-ular representation of the exception - this makes it super easy to just run something like ``print e`` (given ``e`` is a SunlightException instance) """ return repr(self.value)
[docs]class BadRequestException(SunlightException): """ This gets thrown when the underlying url request has recieved an abnormal response code, or the program has issued a request that can not be filled. """ pass
[docs]class InvalidRequestException(BadRequestException): """ This gets thrown when the API gets a valid response, but has an error that should be passed back to the program. """ pass
[docs]class NoAPIKeyException(SunlightException): """ This gets thrown if the bindings are asked to issue a request, but the ``sunlight.config.API_KEY`` variable is ``None``. """ pass