diff --git a/lacre.py b/lacre.py index d17a23f..31b4b66 100755 --- a/lacre.py +++ b/lacre.py @@ -37,7 +37,7 @@ LOG = logging.getLogger('lacre.py') def main(): with time_logger('Message delivery', LOG): - missing_params = conf.validate_config(additional=conf.SCRIPT_REQUIRED) + missing_params = conf.validate_config() config_file = conf.config_source() if missing_params: diff --git a/lacre/admin.py b/lacre/admin.py index 2850b71..8485a17 100644 --- a/lacre/admin.py +++ b/lacre/admin.py @@ -18,7 +18,10 @@ lacre.init_logging(conf.get_item('logging', 'config')) import lacre.repositories as repo import lacre.dbschema as db -LOG = logging.getLogger(__name__) +if __name__ == '__main__': + LOG = logging.getLogger('lacre.admin') +else: + LOG = logging.getLogger(__name__) def _no_database(): @@ -86,7 +89,10 @@ def sub_import(args): def main(): - conf.validate_config(additional=conf.SCRIPT_REQUIRED) + missing = conf.validate_config() + if missing: + LOG.error('Missing configuration parameters: %s', missing) + sys.exit(lacre.EX_CONFIG) general_conf = conf.config_source() log_conf = conf.get_item('logging', 'config') diff --git a/lacre/config.py b/lacre/config.py index f78cbf6..f31b6e2 100644 --- a/lacre/config.py +++ b/lacre/config.py @@ -21,16 +21,12 @@ MANDATORY_CONFIG_ITEMS = [("relay", "host"), ("relay", "port"), ("daemon", "host"), ("daemon", "port"), - ("gpg", "keyhome")] + ("gpg", "keyhome"), + ('database', 'enabled'), + ('database', 'url'), + ('database', 'pooling_mode')] -SCRIPT_REQUIRED = [('database', 'enabled'), - ('database', 'url'), - ('database', 'pooling_mode')] - -CRON_REQUIRED = [('database', 'enabled'), - ('database', 'url'), - ('database', 'pooling_mode'), - ('cron', 'mail_templates')] +CRON_REQUIRED = [('cron', 'mail_templates')] # Global dict to keep configuration parameters. It's hidden behind several # utility functions to make it easy to replace it with ConfigParser object in