1"""
2raven.conf.defaults
3~~~~~~~~~~~~~~~~~~~
4
5Represents the default values for all Sentry settings.
6
7:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
8:license: BSD, see LICENSE for more details.
9"""
10from __future__ import absolute_import
11
12import os
13import os.path
14import socket
15
16ROOT = os.path.normpath(os.path.join(os.path.dirname(__file__), os.pardir))
17
18TIMEOUT = 5
19
20# TODO: this is specific to Django
21CLIENT = 'raven.contrib.django.DjangoClient'
22
23# Not all environments have access to socket module, for example Google App Engine
24# Need to check to see if the socket module has ``gethostname``, if it doesn't we
25# will set it to None and require it passed in to ``Client`` on initializtion.
26NAME = socket.gethostname() if hasattr(socket, 'gethostname') else None
27
28# The maximum number of elements to store for a list-like structure.
29MAX_LENGTH_LIST = 50
30
31# The maximum length to store of a string-like structure.
32MAX_LENGTH_STRING = 400
33
34# Automatically log frame stacks from all ``logging`` messages.
35AUTO_LOG_STACKS = False
36
37# Collect locals variables
38CAPTURE_LOCALS = True
39
40# Client-side data processors to apply
41PROCESSORS = (
42    'raven.processors.SanitizePasswordsProcessor',
43)
44
45try:
46    # Try for certifi first since they likely keep their bundle more up to date
47    import certifi
48    CA_BUNDLE = certifi.where()
49except ImportError:
50    CA_BUNDLE = os.path.join(ROOT, 'data', 'cacert.pem')
51