forked from sh-edraft.de/sh_discord_bot
Added feature-flags
This commit is contained in:
65
src/bot_core/configuration/feature_flags_settings.py
Normal file
65
src/bot_core/configuration/feature_flags_settings.py
Normal 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()}')
|
Reference in New Issue
Block a user