Source code for kuha_document_store.configure
#!/usr/bin/env python3
# Author(s): Toni Sissala
# Copyright 2020 Finnish Social Science Data Archive FSD / University of Tampere
# Licensed under the EUPL. See LICENSE.txt for full license.
"""Configure Document Store.
"""
import os
from kuha_common import cli_setup
[docs]def add_database_configs():
"""Add database configuration values to be parsed.
"""
cli_setup.add('--database-host',
help='Host of Kuha document store database',
default='localhost',
env_var='KUHA_DS_DBHOST',
type=str)
cli_setup.add('--database-port',
help='Port of Kuha document store database',
default=27017,
env_var='KUHA_DS_DBPORT',
type=int)
cli_setup.add('--database-name',
help='name of Kuha document store database',
default='kuha_document_store',
env_var='KUHA_DS_DBNAME',
type=str)
cli_setup.add('--database-user-reader',
help='Username for reading from the database',
default='reader',
env_var='KUHA_DS_DBUSER_READER',
type=str)
cli_setup.add('--database-pass-reader',
help='Password for database-user-reader',
default='reader',
env_var='KUHA_DS_DBPASS_READER',
type=str)
cli_setup.add('--database-user-editor',
help='Username for editing the database',
default='editor',
env_var='KUHA_DS_DBUSER_EDITOR',
type=str)
cli_setup.add('--database-pass-editor',
help='Password for database-user-editor',
default='editor',
env_var='KUHA_DS_DBPASS_EDITOR',
type=str)
[docs]def configure():
"""Get settings for application configuration.
Declares application spesific configuration options
and some common options declared in :mod:`kuha_common.cli_setup`
Configure application with arguments specified in
configuration file, environment variables and command
line arguments.
:note: Calling this function multiple times
will not initiate new settings to be parsed, but
will return previously parsed settings instead.
:returns: settings
:rtype: :obj:`argparse.Namespace`
"""
if cli_setup.settings.is_settings_loaded():
return cli_setup.get_settings()
cli_setup.load(os.path.dirname(os.path.realpath(__file__)),
description='Run Kuha document store server.',
config_file='kuha_document_store.ini')
cli_setup.add_document_store_port()
cli_setup.add_document_store_api_version()
cli_setup.add_print_configuration()
cli_setup.add_server_process_count_configuration()
add_database_configs()
return cli_setup.setup(cli_setup.MOD_LOGGING)