mirror of
https://gitea.tendokyu.moe/AttackVector/AVNetwork.git
synced 2026-10-03 12:37:58 +03:00
87 lines
5.7 KiB
Python
87 lines
5.7 KiB
Python
from database import add_user_nostalgia, getNostalgiaMusicData, getNostalgiaProfilebyRefID, getNostalgiaProfilebyToken, nostalgia_update_musicList, nostalgia_update_playlog
|
|
from variables.strings.games.nostalgia import (
|
|
nostagiaProfile,
|
|
nostalgiaNewProfile,
|
|
nostalgiaMusicDB,
|
|
nostalgiaPlayData,
|
|
nostalgiaOK,
|
|
nostalgiaResults,
|
|
nostalgiaSongDataTemplate
|
|
)
|
|
from time import time
|
|
|
|
|
|
def nostalgiaRelay(module, method, data, playerToken):
|
|
refid = data.get("refid", {}).get("#text", {})
|
|
print(f"{module} {method}")
|
|
match module:
|
|
case "UAN_common":
|
|
match method:
|
|
case "get_music_info":
|
|
return nostalgiaMusicDB
|
|
case "UAN_player":
|
|
match method:
|
|
case "get_playdata": # TODO: get player data from database
|
|
profile = getNostalgiaProfilebyToken(playerToken) or getNostalgiaProfilebyRefID(refid)
|
|
if profile is None:
|
|
print("Profile does not exist.")
|
|
return nostalgiaNewProfile
|
|
|
|
return nostagiaProfile.format(name=profile.name,playCount=profile.playCount,todayPlayCount=profile.todayPlayCount,oldPlayCount=profile.oldPlayCount,oldTodayPlayCount=profile.oldTodayPlayCount,oldRecitalCount=profile.oldRecitalCount,flag0=profile.musicListFlg0,flag1=profile.musicListFlg1,flag2=profile.musicListFlg2,flag3=profile.musicListFlg3,permittedFlag0=profile.permittedlist0,permittedFlag1=profile.permittedlist1,permittedFlag2=profile.permittedlist2,permittedFlag3=profile.permittedlist3,musicIndex=profile.musicIndex,sheetType=profile.sheetType,musicGroup=profile.musicGroup,playTime=profile.playTime,bingoIndex=profile.bingoIndex,performType=profile.performType,filterFlag=profile.filterFlag).encode()
|
|
case "regist_playdata": # TODO: get player data from database
|
|
|
|
name = data["name"]["#text"]
|
|
|
|
profile = add_user_nostalgia(name, refid, playerToken)
|
|
return nostagiaProfile.format(name=profile.name,playCount=profile.playCount,todayPlayCount=profile.todayPlayCount,oldPlayCount=profile.oldPlayCount,oldTodayPlayCount=profile.oldTodayPlayCount,oldRecitalCount=profile.oldRecitalCount,flag0=profile.musicListFlg0,flag1=profile.musicListFlg1,flag2=profile.musicListFlg2,flag3=profile.musicListFlg3,permittedFlag0=profile.permittedlist0,permittedFlag1=profile.permittedlist1,permittedFlag2=profile.permittedlist2,permittedFlag3=profile.permittedlist3,musicIndex=profile.musicIndex,sheetType=profile.sheetType,musicGroup=profile.musicGroup,playTime=profile.playTime,bingoIndex=profile.bingoIndex,performType=profile.performType,filterFlag=profile.filterFlag).encode()
|
|
case "get_musicdata":
|
|
music = ""
|
|
newMusic = ""
|
|
playerData = getNostalgiaMusicData(playerToken)
|
|
for score in playerData:
|
|
music += nostalgiaSongDataTemplate.format(music_index=score.musicIndex,sheet_type=score.sheetType,score=score.score,playCount=score.playCount,clearFlag=score.clearFlag,multiCount=score.multiCount,handsMode=score.handsMode,grade=score.grade,recScore=score.recScore,recPlayCount=score.recPlayCount,recHands=score.recHands,recGrade=score.recGrade,clearCount=score.clearCount)
|
|
if newMusic == "":
|
|
newMusic = "<new_music_list />"
|
|
return nostalgiaPlayData.format(music=music,newMusic=newMusic).encode()
|
|
case "set_stage_result":
|
|
results = data["stageinfo"]["stage"]
|
|
musicIndex = results['@music_index']
|
|
sheetType = results['@sheet_type']
|
|
results = results["common"]
|
|
perform_type = results["perform_type"]["#text"] # 0 for Nomal, 1 for Recital Play
|
|
|
|
score = results["score"]["#text"]
|
|
playCount = results["play_count"]["#text"]
|
|
clearCount = results["clear_count"]["#text"]
|
|
clearFlag = results["clear_flag"]["#text"]
|
|
multiCount = results["multi_count"]["#text"]
|
|
handsMode = results["hands_mode"]["#text"]
|
|
grade = results["grade"]["#text"]
|
|
nostalgia_update_playlog(playerToken,refid,musicIndex,sheetType,score,clearFlag,multiCount,handsMode,grade,perform_type)
|
|
return nostalgiaOK
|
|
case "set_total_result":
|
|
musicFlags = data["music_list"]["flag"]
|
|
musicListFlg0 = None
|
|
musicListFlg1 = None
|
|
musicListFlg2 = None
|
|
musicListFlg3 = None
|
|
for flag in musicFlags:
|
|
match str(flag['@sheet_type']):
|
|
case "0":
|
|
print(flag["#text"])
|
|
musicListFlg0 = flag["#text"]
|
|
case "1":
|
|
print(flag["#text"])
|
|
musicListFlg1 = flag["#text"]
|
|
case "2":
|
|
print(flag["#text"])
|
|
musicListFlg2 = flag["#text"]
|
|
case "3":
|
|
print(flag["#text"])
|
|
musicListFlg3 = flag["#text"]
|
|
|
|
nostalgia_update_musicList(playerToken,refid,musicListFlg0,musicListFlg1,musicListFlg2,musicListFlg3)
|
|
return nostalgiaResults.format(flag0=str(musicListFlg0),flag1=str(musicListFlg1),flag2=str(musicListFlg2),flag3=str(musicListFlg3)).encode()
|
|
case _: # Backup Case
|
|
return b"NoMatches"
|