Added feature-flags

This commit is contained in:
2022-10-02 02:34:27 +02:00
parent a8b6989d27
commit ac238b360a
7 changed files with 138 additions and 21 deletions

View File

@@ -0,0 +1,65 @@
import traceback
from typing import Optional
from cpl_core.configuration.configuration_model_abc import ConfigurationModelABC
from cpl_core.console import Console
class FeatureFlagsSettings(ConfigurationModelABC):
def __init__(self):
ConfigurationModelABC.__init__(self)
self._admin_module = False # 02.10.2022 #48
self._base_module = True # 02.10.2022 #48
self._boot_log_module = True # 02.10.2022 #48
self._database_module = True # 02.10.2022 #48
self._moderator_module = False # 02.10.2022 #48
self._permission_module = True # 02.10.2022 #48
@property
def admin_module(self) -> bool:
return self._admin_module
@property
def base_module(self) -> bool:
return self._base_module
@property
def boot_log_module(self) -> bool:
return self._boot_log_module
@property
def database_module(self) -> bool:
return self._database_module
@property
def moderator_module(self) -> bool:
return self._moderator_module
@property
def permission_module(self) -> bool:
return self._permission_module
def from_dict(self, settings: dict):
try:
if 'AdminModule' in settings:
self._admin_module = settings['AdminModule']
if 'BaseModule' in settings:
self._base_module = settings['BaseModule']
if 'BootLogModule' in settings:
self._boot_log_module = settings['BootLogModule']
if 'DatabaseModule' in settings:
self._database_module = settings['DatabaseModule']
if 'ModeratorModule' in settings:
self._moderator_module = settings['ModeratorModule']
if 'PermissionModule' in settings:
self._permission_module = settings['PermissionModule']
except Exception as e:
Console.error(f'[ ERROR ] [ {__name__} ]: Reading error in {type(self).__name__} settings')
Console.error(f'[ EXCEPTION ] [ {__name__} ]: {e} -> {traceback.format_exc()}')