from __future__ import absolute_import import copy import os from raven.utils.compat import string_types from raven.utils.imports import import_string def convert_options(settings, defaults=None): """ Convert a settings object (or dictionary) to parameters which may be passed to a new ``Client()`` instance. """ if defaults is None: defaults = {} if isinstance(settings, dict): def getopt(key, default=None): return settings.get( 'SENTRY_%s' % key.upper(), defaults.get(key, default) ) options = copy.copy( settings.get('SENTRY_CONFIG') or settings.get('RAVEN_CONFIG') or {} ) else: def getopt(key, default=None): return getattr(settings, 'SENTRY_%s' % key.upper(), defaults.get(key, default)) options = copy.copy( getattr(settings, 'SENTRY_CONFIG', None) or getattr(settings, 'RAVEN_CONFIG', None) or {} ) options.setdefault('include_paths', getopt('include_paths', [])) options.setdefault('exclude_paths', getopt('exclude_paths', [])) options.setdefault('timeout', getopt('timeout')) options.setdefault('name', getopt('name')) options.setdefault('auto_log_stacks', getopt('auto_log_stacks')) options.setdefault('string_max_length', getopt('string_max_length')) options.setdefault('list_max_length', getopt('list_max_length')) options.setdefault('site', getopt('site')) options.setdefault('processors', getopt('processors')) options.setdefault('sanitize_keys', getopt('sanitize_keys')) options.setdefault('dsn', getopt('dsn', os.environ.get('SENTRY_DSN'))) options.setdefault('context', getopt('context')) options.setdefault('tags', getopt('tags')) options.setdefault('release', getopt('release')) options.setdefault('repos', getopt('repos')) options.setdefault('environment', getopt('environment')) options.setdefault('ignore_exceptions', getopt('ignore_exceptions')) options.setdefault('sample_rate', getopt('sample_rate')) transport = getopt('transport') or options.get('transport') if isinstance(transport, string_types): transport = import_string(transport) options['transport'] = transport return options
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
serializer | Folder | 0755 |
|
|
__init__.py | File | 3.14 KB | 0644 |
|
basic.py | File | 2.39 KB | 0644 |
|
compat.py | File | 5.54 KB | 0644 |
|
conf.py | File | 2.29 KB | 0644 |
|
encoding.py | File | 3.23 KB | 0644 |
|
http.py | File | 1.95 KB | 0644 |
|
imports.py | File | 404 B | 0644 |
|
json.py | File | 2.91 KB | 0644 |
|
ssl_match_hostname.py | File | 3.51 KB | 0644 |
|
stacks.py | File | 9.8 KB | 0644 |
|
testutils.py | File | 697 B | 0644 |
|
transaction.py | File | 1.06 KB | 0644 |
|
urlparse.py | File | 476 B | 0644 |
|
wsgi.py | File | 3.64 KB | 0644 |
|