4 Commits

4 changed files with 68 additions and 10 deletions

View File

@ -2,9 +2,11 @@ from titles.ongeki.index import OngekiServlet
from titles.ongeki.const import OngekiConstants from titles.ongeki.const import OngekiConstants
from titles.ongeki.database import OngekiData from titles.ongeki.database import OngekiData
from titles.ongeki.read import OngekiReader from titles.ongeki.read import OngekiReader
from titles.ongeki.frontend import OngekiFrontend
index = OngekiServlet index = OngekiServlet
database = OngekiData database = OngekiData
reader = OngekiReader reader = OngekiReader
frontend = OngekiFrontend
game_codes = [OngekiConstants.GAME_CODE] game_codes = [OngekiConstants.GAME_CODE]
current_schema_version = 5 current_schema_version = 5

View File

@ -978,35 +978,41 @@ class OngekiBase:
""" """
Added in Bright Added in Bright
""" """
rival_list = self.data.profile.get_rivals(data["userId"])
if rival_list is None or len(rival_list) < 1: rival_list = []
user_rivals = self.data.profile.get_rivals(data["userId"])
for rival in user_rivals:
tmp = {}
tmp["rivalUserId"] = rival[0]
rival_list.append(tmp)
if user_rivals is None or len(rival_list) < 1:
return { return {
"userId": data["userId"], "userId": data["userId"],
"length": 0, "length": 0,
"userRivalList": [], "userRivalList": [],
} }
return { return {
"userId": data["userId"], "userId": data["userId"],
"length": len(rival_list), "length": len(rival_list),
"userRivalList": rival_list._asdict(), "userRivalList": rival_list,
} }
def handle_get_user_rival_data_api_reqiest(self, data: Dict) -> Dict: def handle_get_user_rival_data_api_request(self, data: Dict) -> Dict:
""" """
Added in Bright Added in Bright
""" """
rivals = [] rivals = []
print(data)
for rival in data["userRivalList"]: for rival in data["userRivalList"]:
name = self.data.profile.get_profile_name( name = self.data.profile.get_profile_name(
rival["rivalUserId"], self.version rival["rivalUserId"], self.version
) )
if name is None: if name is None:
continue continue
print(name)
rivals.append({"rivalUserId": rival["rival"], "rivalUserName": name}) rivals.append({"rivalUserId": rival["rivalUserId"], "rivalUserName": name})
print(rivals)
return { return {
"userId": data["userId"], "userId": data["userId"],
"length": len(rivals), "length": len(rivals),
@ -1027,7 +1033,7 @@ class OngekiBase:
for song in music["userMusicList"]: for song in music["userMusicList"]:
song["userRivalMusicDetailList"] = song["userMusicDetailList"] song["userRivalMusicDetailList"] = song["userMusicDetailList"]
song.pop("userMusicDetailList") song.pop("userMusicDetailList")
print(music["userMusicList"])
return { return {
"userId": data["userId"], "userId": data["userId"],
"rivalUserId": rival_id, "rivalUserId": rival_id,

42
titles/ongeki/frontend.py Normal file
View File

@ -0,0 +1,42 @@
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
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."
self.geki_version = OngekiConstants.VERSION_NAMES[-1]+"?"
print(OngekiConstants.VERSION_NAMES[-1])
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"],
gachas=self.game_cfg.gachas.enabled_gachas,
version= self.geki_version,
sesh=vars(usr_sesh)
).encode("utf-16")

View File

@ -0,0 +1,8 @@
{% extends "core/frontend/index.jinja" %}
{% block content %}
<br>
<br>
<br>
<h1>{{ title }}</h1>
Version: {{version}}
{% endblock content %}