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
File details
Details for the file yaml_configuration-0.2.6.tar.gz
.
File metadata
- Download URL: yaml_configuration-0.2.6.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95b40efb608457ae447902c7353a4555cccbdb634c9c03ab56a8cc80fb858526 |
|
MD5 | 1f93d720e40972aeda1fc34c0b342528 |
|
BLAKE2b-256 | 26c7da74d944be5a3f371a7c4df165912b46e524316b490b136d7420792a86bd |
File details
Details for the file yaml_configuration-0.2.6-py3-none-any.whl
.
File metadata
- Download URL: yaml_configuration-0.2.6-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc8bc7df52dda33b8773f438ec92e519038a332750db4353dcd530daf11566dd |
|
MD5 | 8b7da8391a416c4d7fb5566b66950773 |
|
BLAKE2b-256 | f13e734517a07ede92acafb0d19a547b572489ef72fa7c6b89350f690a6576a1 |