You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
import yaml |
|
|
|
|
|
class Config: |
|
""" |
|
Configuration importer. |
|
""" |
|
def __init__(self, config_path: str): |
|
""" |
|
Initialize the configuration importer. |
|
|
|
:param config_path: The path of the configuration file. |
|
""" |
|
self.config_path = config_path |
|
self.config = None |
|
|
|
def get_config(self) -> str: |
|
""" |
|
Get the configuration saved in the configuration file. |
|
|
|
:returns: The configuration saved in the configuration file. |
|
""" |
|
if not self.config: |
|
_config = self.load_config() |
|
self.config = _config |
|
return self.config |
|
|
|
def load_config(self) -> str: |
|
""" |
|
Read the configuration saved in the configuration file. |
|
|
|
:returns: The configuration saved in the configruation file. |
|
""" |
|
with open(self.config_path, 'rt') as f: |
|
config = yaml.load(f) |
|
if self.validate_config(config): |
|
return config |
|
|
|
def validate_config(self, config: str) -> bool: |
|
""" |
|
Validate the configuration. |
|
|
|
:returns: Configuration validation status. |
|
""" |
|
return True
|
|
|