Source code for horizon.settings

from django.conf import settings
from django.utils.lru_cache import lru_cache

CONFIG_DEFAULTS = {
    'GROUPS': {},
    'METADATA_MODEL': None,
}


[docs]@lru_cache() def get_config(): USER_CONFIG = getattr(settings, 'HORIZONTAL_CONFIG', {}) CONFIG = CONFIG_DEFAULTS.copy() CONFIG.update(USER_CONFIG) for name, horizontal_group in CONFIG['GROUPS'].items(): horizontal_group['DATABASE_SET'] = set() for key, member in horizontal_group['DATABASES'].items(): horizontal_group['DATABASE_SET'].add(member['write']) horizontal_group['DATABASE_SET'].update(member.get('read', [])) if 'read' not in member: member['read'] = [member['write']] if 'PICKABLES' not in horizontal_group: horizontal_group['PICKABLES'] = [int(i) for i in horizontal_group['DATABASES'].keys()] return CONFIG