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)