#!/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