replacers

This commit is contained in:
jr-k 2024-07-22 01:24:25 +02:00
parent 1073b96748
commit 3c94553ae2
3 changed files with 17 additions and 4 deletions

View File

@ -16,7 +16,7 @@ class Application:
def __init__(self, application_dir: str):
self._application_dir = application_dir
self._stop_event = threading.Event()
self._model_store = ModelStore(self.get_plugins)
self._model_store = ModelStore(self, self.get_plugins)
self._template_renderer = TemplateRenderer(kernel=self, model_store=self._model_store, render_hook=self.render_hook)
self._web_server = WebServer(kernel=self, model_store=self._model_store, template_renderer=self._template_renderer)
self._external_storage_server = ExternalStorageServer(kernel=self, model_store=self._model_store)

View File

@ -3,6 +3,7 @@ import sys
import logging
import argparse
from typing import Dict
from dotenv import load_dotenv
load_dotenv()
@ -11,7 +12,8 @@ class ConfigManager:
DEFAULT_PORT = 5000
VERSION_FILE = 'version.txt'
def __init__(self):
def __init__(self, replacers: Dict):
self._replacers = replacers
self._CONFIG = {
'version': None,
'demo': False,
@ -36,6 +38,8 @@ class ConfigManager:
if self.map().get('debug'):
logging.debug(self._CONFIG)
self.apply_replacers()
def map(self) -> dict:
return self._CONFIG
@ -95,3 +99,9 @@ class ConfigManager:
value = True
self._CONFIG[key.lower()] = value
logging.info(f"Env var {key} has been found")
def apply_replacers(self):
for key, value in self._CONFIG.items():
if isinstance(value, str):
for replace_key, replace_value in self._replacers.items():
self._CONFIG[key] = value.replace("%{}%".format(replace_key), replace_value)

View File

@ -16,11 +16,14 @@ from src.manager.LoggingManager import LoggingManager
class ModelStore:
def __init__(self, get_plugins: Dict):
def __init__(self, kernel, get_plugins: Dict):
self._get_plugins = get_plugins
self._kernel = kernel
# Core
self._config_manager = ConfigManager()
self._config_manager = ConfigManager(replacers={
'application_dir': kernel.get_application_dir()
})
self._logging_manager = LoggingManager(config_manager=self._config_manager)
# Pure