Example #1
0
def configure_raven(transport=None, _client=None):
    """Configure and return a :class:`raven.Client` instance.

    :param transport: The transport to use, one of the
                      :data:`RAVEN_TRANSPORTS` keys.
    :param _client: Test-only hook to provide a pre-configured client.
    """
    if _client is not None:
        return _client

    transport = RAVEN_TRANSPORTS.get(transport)
    if not transport:
        raise ValueError("No valid raven transport was configured.")

    dsn = settings("sentry_dsn")
    klass = DebugRavenClient if not dsn else RavenClient
    info = version_info()
    release = info.get("version") or info.get("commit") or "unknown"
    client = klass(dsn=dsn, transport=transport, release=release)
    return client
Example #2
0
 def __call__(self):
     """
     Return a response with a 200 status, including a JSON body
     describing the installed software versions.
     """
     return version_info()