common.config_loader¶
-
class
ConfigLoader(data_dir, conf_file_name, default_conf, command_line_conf)[source]¶ Bases:
objectThe
ConfigLoaderclass is in charge of loading all the configuration parameters to create a config dict that can be used to set all configurable parameters of the system.- Parameters
data_dir (
str) – the path to the data directory where the configuration file may be found.default_conf (
dict) –a dictionary populated with the default configuration params and the expected types. The format is as follows:
{"field0": {"value": value_from_conf_file, "type": expected_type, ...}}command_line_conf (
dict) – a dictionary containing the command line parameters that may replace the ones in default / config file.
-
data_dir¶ The path to the data directory where the configuration file may be found.
- Type
str
-
conf_file_path¶ The path to the config file (the file may not exist).
- Type
str
-
conf_fields¶ A dictionary populated with the configuration params and the expected types. It follows the same format as
default_conf.- Type
dict
-
command_line_conf¶ A dictionary containing the command line parameters that may replace the ones in default / config file.
- Type
dict
-
build_config()[source]¶ Builds a config dictionary from command line, config file and default configuration parameters.
- The priority is as follows:
command line
config file
defaults
- Returns
A dictionary containing all the configuration parameters.
- Return type
dict
-
create_config_dict()[source]¶ Checks that the configuration fields (
self.conf_fields) have the right type and creates a config dict if so.- Returns
A dictionary with the same keys as the provided one, but containing only the “value” field as value if the provided
conf_fieldsare correct.- Return type
dict- Raises
ValueError – If any of the dictionary elements does not have the expected type.