Source code for pacifica.cartd.config

#!/usr/bin/python
# -*- coding: utf-8 -*-
"""Configuration reading and validation module."""
from os import getenv
import logging
try:
    from ConfigParser import SafeConfigParser
except ImportError:  # pragma: no cover python 2 vs 3 issue
    from configparser import ConfigParser as SafeConfigParser
from .globals import CONFIG_FILE


[docs]def get_config(): """Return the ConfigParser object with defaults set.""" configparser = SafeConfigParser() configparser.add_section('cartd') configparser.set('cartd', 'transfer_size', getenv( 'TRANSFER_SIZE', '4 Mb')) configparser.set('cartd', 'volume_path', getenv( 'VOLUME_PATH', '/tmp/')) configparser.set('cartd', 'lru_buffer_time', getenv( 'LRU_BUFFER_TIME', '0')) configparser.set('cartd', 'bundle_task', getenv( 'BUNDLE_TASK', 'off')) configparser.add_section('database') configparser.set('database', 'peewee_url', getenv( 'PEEWEE_URL', 'sqliteext:///db.sqlite3')) configparser.set('database', 'debug_logging', getenv( 'DATABASE_DEBUG_LOGGING', 'False')) configparser.set('database', 'connect_attempts', getenv( 'DATABASE_CONNECT_ATTEMPTS', '10')) configparser.set('database', 'connect_wait', getenv( 'DATABASE_CONNECT_WAIT', '20')) configparser.add_section('archiveinterface') configparser.set('archiveinterface', 'url', getenv( 'ARCHIVE_INTERFACE_URL', 'http://127.0.0.1:8080/')) configparser.add_section('celery') configparser.set('celery', 'broker_url', getenv( 'BROKER_URL', 'pyamqp://')) configparser.set('celery', 'backend_url', getenv( 'BACKEND_URL', 'rpc://')) configparser.read(CONFIG_FILE) return configparser
if get_config().getboolean('database', 'debug_logging'): # pragma: no cover used for debugging LOGGER = logging.getLogger('peewee') LOGGER.setLevel(logging.DEBUG) LOGGER.addHandler(logging.StreamHandler())