Source code for pacifica.ingest.config

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


[docs]def get_config(): """Return the ConfigParser object with defaults set.""" configparser = SafeConfigParser() configparser.add_section('ingest') configparser.set('ingest', 'volume_path', getenv( 'VOLUME_PATH', '/tmp')) configparser.add_section('uniqueid') configparser.set('uniqueid', 'url', getenv( 'UNIQUEID_URL', 'http://127.0.0.1:8051')) configparser.add_section('policy') configparser.set('policy', 'ingest_url', getenv( 'POLICY_INGEST_URL', 'http://127.0.0.1:8181/ingest')) configparser.add_section('archiveinterface') configparser.set('archiveinterface', 'url', getenv( 'ARCHIVEINTERFACE_URL', 'http://127.0.0.1:8080')) configparser.add_section('metadata') configparser.set('metadata', 'ingest_url', getenv( 'METADATA_INGEST_URL', 'http://127.0.0.1:8121/ingest')) configparser.add_section('database') configparser.set('database', 'peewee_url', getenv( 'PEEWEE_URL', 'sqliteext:///db.sqlite3')) configparser.set('database', 'connect_attempts', getenv( 'DATABASE_CONNECT_ATTEMPTS', '10')) configparser.set('database', 'connect_wait', getenv( 'DATABASE_CONNECT_WAIT', '20')) 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