From 2a52e391d6abf19d7f6c18786969dd71214ae20e Mon Sep 17 00:00:00 2001 From: Wanich Keatkajonjumroen Date: Mon, 28 Aug 2023 03:18:56 +0900 Subject: [PATCH] Ongeki template start --- core/json.json | 1 + titles/ongeki/__init__.py | 2 ++ titles/ongeki/frontend.py | 40 +++++++++++++++++++++++ titles/ongeki/frontend/ongeki_index.jinja | 4 +++ 4 files changed, 47 insertions(+) create mode 100644 core/json.json create mode 100644 titles/ongeki/frontend.py create mode 100644 titles/ongeki/frontend/ongeki_index.jinja diff --git a/core/json.json b/core/json.json new file mode 100644 index 0000000..2b267ce --- /dev/null +++ b/core/json.json @@ -0,0 +1 @@ +{'chuni': , 'cm': , 'cxb': , 'diva': , 'idz': , 'mai2': , 'ongeki': , 'pokken': , 'sao': , 'wacca': } \ No newline at end of file diff --git a/titles/ongeki/__init__.py b/titles/ongeki/__init__.py index b887ba6..e4e0ce2 100644 --- a/titles/ongeki/__init__.py +++ b/titles/ongeki/__init__.py @@ -2,9 +2,11 @@ from titles.ongeki.index import OngekiServlet from titles.ongeki.const import OngekiConstants from titles.ongeki.database import OngekiData from titles.ongeki.read import OngekiReader +from titles.ongeki.frontend import OngekiFrontend index = OngekiServlet database = OngekiData reader = OngekiReader +frontend = OngekiFrontend game_codes = [OngekiConstants.GAME_CODE] current_schema_version = 5 diff --git a/titles/ongeki/frontend.py b/titles/ongeki/frontend.py new file mode 100644 index 0000000..474d4d8 --- /dev/null +++ b/titles/ongeki/frontend.py @@ -0,0 +1,40 @@ +import yaml +import jinja2 +from twisted.web.http import Request +from os import path +from twisted.web.server import Session + +from core.frontend import FE_Base, IUserSession +from core.config import CoreConfig + +from titles.ongeki.config import OngekiConfig +from titles.ongeki.const import OngekiConstants +from titles.ongeki.database import OngekiData +# from titles.ongeki.read import OngekiReader + + +class OngekiFrontend(FE_Base): + def __init__( + self, cfg: CoreConfig, environment: jinja2.Environment, cfg_dir: str + ) -> None: + super().__init__(cfg, environment) + self.data = OngekiData(cfg) + self.game_cfg = OngekiConfig() + if path.exists(f"{cfg_dir}/{OngekiConstants.CONFIG_NAME}"): + self.game_cfg.update( + yaml.safe_load(open(f"{cfg_dir}/{OngekiConstants.CONFIG_NAME}")) + ) + self.nav_name = "O.N.G.E.K.I." + + def render_GET(self, request: Request) -> bytes: + template = self.environment.get_template( + "titles/ongeki/frontend/ongeki_index.jinja" + ) + sesh: Session = request.getSession() + usr_sesh = IUserSession(sesh) + + return template.render( + title=f"{self.core_config.server.name} | {self.nav_name}", + game_list=self.environment.globals["game_list"], + sesh=vars(usr_sesh) + ).encode("utf-16") diff --git a/titles/ongeki/frontend/ongeki_index.jinja b/titles/ongeki/frontend/ongeki_index.jinja new file mode 100644 index 0000000..981340c --- /dev/null +++ b/titles/ongeki/frontend/ongeki_index.jinja @@ -0,0 +1,4 @@ +{% extends "core/frontend/index.jinja" %} +{% block content %} +

O.N.G.E.K.I.

+{% endblock content %} \ No newline at end of file