Added JSONProcessor to utils & Added JSONProcessor as settings parser

This commit is contained in:
2023-04-04 22:52:13 +02:00
parent 943f5ad50b
commit a8d4a7a362
8 changed files with 178 additions and 99 deletions

View File

@@ -11,12 +11,18 @@ from cpl_core.logging.logging_settings_name_enum import LoggingSettingsNameEnum
class LoggingSettings(ConfigurationModelABC):
r"""Representation of logging settings"""
def __init__(self):
def __init__(
self,
path: str = None,
filename: str = None,
console_log_level: LoggingLevelEnum = None,
file_log_level: LoggingLevelEnum = None,
):
ConfigurationModelABC.__init__(self)
self._path: Optional[str] = None
self._filename: Optional[str] = None
self._console: Optional[LoggingLevelEnum] = None
self._level: Optional[LoggingLevelEnum] = None
self._path: Optional[str] = path
self._filename: Optional[str] = filename
self._console: Optional[LoggingLevelEnum] = console_log_level
self._level: Optional[LoggingLevelEnum] = file_log_level
@property
def path(self) -> str:
@@ -50,14 +56,14 @@ class LoggingSettings(ConfigurationModelABC):
def level(self, level: LoggingLevelEnum) -> None:
self._level = level
def from_dict(self, settings: dict):
try:
self._path = settings[LoggingSettingsNameEnum.path.value]
self._filename = settings[LoggingSettingsNameEnum.filename.value]
self._console = LoggingLevelEnum[settings[LoggingSettingsNameEnum.console_level.value]]
self._level = LoggingLevelEnum[settings[LoggingSettingsNameEnum.file_level.value]]
except Exception as e:
Console.set_foreground_color(ForegroundColorEnum.red)
Console.write_line(f"[ ERROR ] [ {__name__} ]: Reading error in {type(self).__name__} settings")
Console.write_line(f"[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}")
Console.set_foreground_color(ForegroundColorEnum.default)
# def from_dict(self, settings: dict):
# try:
# self._path = settings[LoggingSettingsNameEnum.path.value]
# self._filename = settings[LoggingSettingsNameEnum.filename.value]
# self._console = LoggingLevelEnum[settings[LoggingSettingsNameEnum.console_level.value]]
# self._level = LoggingLevelEnum[settings[LoggingSettingsNameEnum.file_level.value]]
# except Exception as e:
# Console.set_foreground_color(ForegroundColorEnum.red)
# Console.write_line(f"[ ERROR ] [ {__name__} ]: Reading error in {type(self).__name__} settings")
# Console.write_line(f"[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}")
# Console.set_foreground_color(ForegroundColorEnum.default)