* add some reader classes to get the configuration * adapt unittests * get config from json or toml file * loop over all config readers to get the configuration * rename config test files * use relative paths for coverage test in vscode * do not throw an error for missing config files * remove obsolete tests * use dotted key notation for pv sub dictonary * log config reading progress * remove create_config_toml.py * remove obsolete tests for the ha_addon * disable mosquitto tests if the server is down * ignore main method for test coverage * increase test coverage * pytest-cov: use relative_files only on github, so coverage will work with vscode locally * remove unneeded imports * add missing test cases * disable branch coverage, cause its not reachable
22 lines
571 B
Python
22 lines
571 B
Python
'''Config Reader module which handles *.toml config files'''
|
|
|
|
import tomllib
|
|
from cnf.config import ConfigIfc
|
|
|
|
|
|
class ConfigReadToml(ConfigIfc):
|
|
'''Reader for toml config files'''
|
|
def __init__(self, cnf_file):
|
|
'''Read a toml file and add the settings to the config'''
|
|
if not isinstance(cnf_file, str):
|
|
return
|
|
self.cnf_file = cnf_file
|
|
super().__init__()
|
|
|
|
def get_config(self) -> dict:
|
|
with open(self.cnf_file, "rb") as f:
|
|
return tomllib.load(f)
|
|
|
|
def descr(self):
|
|
return self.cnf_file
|