Skip to content
Snippets Groups Projects
Commit 36dadabf authored by Robert Goldmann's avatar Robert Goldmann
Browse files

added Page and PageManager

parent f3d88b64
No related branches found
No related tags found
No related merge requests found
/Pipfile.lock
/settings.json
/pageSettings.json
......@@ -5,15 +5,20 @@ from TheCodeLabs_FlaskUtils.FlaskBaseApp import FlaskBaseApp
from blueprints import Routes
from logic import Constants
from logic.Page import PageManager
from logic.services.JenkinsSingleJobService import JenkinsSingleJobService
LOGGER = DefaultLogger().create_logger_if_not_exists(Constants.APP_NAME)
class CarrotCastleWebsite(FlaskBaseApp):
SUPPORTED_LANGUAGES = ['en', 'de']
class ProjectLeaf(FlaskBaseApp):
SERVICES = {
'JenkinsSingleJob': JenkinsSingleJobService
}
def __init__(self, appName: str):
super().__init__(appName, os.path.dirname(__file__), LOGGER, serveRobotsTxt=True)
self._pageManager = PageManager(Constants.ROOT_DIR)
def _register_blueprints(self, app):
app.register_blueprint(Routes.construct_blueprint(self._settings))
......@@ -21,5 +26,5 @@ class CarrotCastleWebsite(FlaskBaseApp):
if __name__ == '__main__':
website = CarrotCastleWebsite(Constants.APP_NAME)
website = ProjectLeaf(Constants.APP_NAME)
website.start_server()
import json
import os
from dataclasses import dataclass
from typing import List
from TheCodeLabs_BaseUtils import CachedService
@dataclass
class VisualPage:
code: str
@dataclass
class Page:
visualPage: VisualPage
services: List[CachedService]
class PageManager:
def __init__(self, saveFolder: str):
self._saveFolder = saveFolder
self._pageSettingsPath = os.path.join(self._saveFolder, 'pageSettings.json')
self._pages = self.__load()
def __load(self) -> List[Page]:
if not os.path.exists(self._pageSettingsPath):
self.__save()
with open(self._pageSettingsPath, encoding='UTF-8') as f:
return json.load(f)
def __save(self):
with open(self._pageSettingsPath, 'w', encoding='UTF-8') as f:
return json.dump([], f)
def addPage(self, index: int, page: Page):
self._pages.insert(index, page)
def removePage(self, index: int):
del self._pages[index]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment