A python module to easily read from and write to yaml config files.
Project description
yaml_configuration
This module offers easy configuration for a other modules or startup scripts. It offers an easy way to load and save config files and read and write config values to it. Also trying to read a config value by passing an optional default value if the real config value is not present is supported.
Usage
The class DefaultConfig provides the basic functionality of the package. A custom configuration class is meant to derive from it.
import os
import logging
from pytest import raises
from yaml_configuration.config import DefaultConfig, ConfigError
def read_file(file_path, filename):
file_path = os.path.join(file_path, filename)
with open(file_path, 'r') as file_pointer:
file_content = file_pointer.read()
return file_content
class BasicConfig(DefaultConfig):
def __init__(self, config_string, config_file, logger_object=None):
super(BasicConfig, self).__init__(config_string, logger_object)
# this is already done in the init
# self.load(config_file, path=os.path.dirname(__file__))
if __name__ == '__main__':
config_file = "basic_config.yaml"
config_string = read_file(os.path.dirname(__file__), config_file)
basic_config = BasicConfig(config_string, config_file, logging.getLogger("TestLogger"))
basic_config.set_config_value("number_value", 10)
basic_config.set_config_value("string_value", "test_string")
assert basic_config.get_config_value("string_value") == "test_string"
assert basic_config.get_config_value("not_existing_config_value", default=42) == 42
with raises(ConfigError):
if not basic_config.get_config_value("value_that_should_exist"):
raise ConfigError("The config value with key 'value_that_should_exist' should exist")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for yaml_configuration-0.2.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc8bc7df52dda33b8773f438ec92e519038a332750db4353dcd530daf11566dd |
|
MD5 | 8b7da8391a416c4d7fb5566b66950773 |
|
BLAKE2b-256 | f13e734517a07ede92acafb0d19a547b572489ef72fa7c6b89350f690a6576a1 |