mirror of
https://gitea.tendokyu.moe/Hay1tsme/artemis.git
synced 2026-02-14 19:57:27 +08:00
remove unused code from index.py
This commit is contained in:
2
titles/diva/handlers/__init__.py
Normal file
2
titles/diva/handlers/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from titles.diva.handlers.base import *
|
||||
from titles.diva.handlers.user import *
|
||||
@@ -1,4 +1,6 @@
|
||||
from urllib import parse
|
||||
from datetime import datetime
|
||||
from typing import Union
|
||||
|
||||
class DivaRequestParseException(Exception):
|
||||
"""
|
||||
@@ -9,17 +11,72 @@ class DivaRequestParseException(Exception):
|
||||
self.message = message
|
||||
super().__init__(self.message)
|
||||
|
||||
class BaseRequest:
|
||||
def __init__(self, raw: str) -> None:
|
||||
self.raw = dict(parse.parse_qsl(raw))
|
||||
|
||||
if 'cmd' not in self.raw:
|
||||
raise DivaRequestParseException(f"cmd not in request data {self.raw}")
|
||||
self.cmd = raw['cmd']
|
||||
class BaseBinaryRequest:
|
||||
cmd: str
|
||||
req_id: str
|
||||
def __init__(self, raw: bytes) -> None:
|
||||
self.raw = raw
|
||||
self.raw_dict = dict(parse.parse_qsl(raw))
|
||||
|
||||
if 'req_id' not in self.raw:
|
||||
raise DivaRequestParseException(f"req_id not in request data {self.raw}")
|
||||
self.req_id = raw['req_id']
|
||||
if 'cmd' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"cmd not in request data {self.raw_dict}")
|
||||
|
||||
if 'req_id' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"req_id not in request data {self.raw_dict}")
|
||||
|
||||
for k, v in self.raw_dict:
|
||||
setattr(self, k, v)
|
||||
|
||||
class BaseRequest:
|
||||
cmd: str
|
||||
req_id: str
|
||||
game_id: str
|
||||
r_rev: str
|
||||
kc_serial: str
|
||||
b_serial: str
|
||||
country_code: str
|
||||
def __init__(self, raw: Union[str, bytes]) -> None:
|
||||
self.raw = raw
|
||||
self.raw_dict = dict(parse.parse_qsl(raw))
|
||||
|
||||
if 'cmd' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"cmd not in request data {self.raw_dict}")
|
||||
|
||||
if 'req_id' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"req_id not in request data {self.raw_dict}")
|
||||
|
||||
if 'place_id' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"place_id not in request data {self.raw_dict}")
|
||||
|
||||
if 'start_up_mode' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"start_up_mode not in request data {self.raw_dict}")
|
||||
|
||||
if 'cmm_dly_mod' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"cmm_dly_mod not in request data {self.raw_dict}")
|
||||
|
||||
if 'cmm_dly_sec' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"cmm_dly_sec not in request data {self.raw_dict}")
|
||||
|
||||
if 'cmm_err_mod' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"cmm_err_mod not in request data {self.raw_dict}")
|
||||
|
||||
if 'region_code' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"region_code not in request data {self.raw_dict}")
|
||||
|
||||
if 'time_stamp' not in self.raw_dict:
|
||||
raise DivaRequestParseException(f"time_stamp not in request data {self.raw_dict}")
|
||||
|
||||
for k, v in self.raw_dict:
|
||||
setattr(self, k, v)
|
||||
|
||||
self.place_id = int(self.place_id)
|
||||
self.start_up_mode = int(self.start_up_mode)
|
||||
self.cmm_dly_mod = int(self.cmm_dly_mod)
|
||||
self.cmm_dly_sec = int(self.cmm_dly_sec)
|
||||
self.cmm_err_mod = int(self.cmm_err_mod)
|
||||
self.region_code = int(self.region_code)
|
||||
# datetime.now().astimezone().replace(microsecond=0).isoformat()
|
||||
self.time_stamp = datetime.strptime(self.time_stamp, "%Y-%m-%dT%H:%M:%S%z")
|
||||
|
||||
class BaseResponse:
|
||||
def __init__(self, cmd_id: str, req_id: int) -> None:
|
||||
@@ -31,8 +88,12 @@ class BaseResponse:
|
||||
all_vars = vars(self)
|
||||
all_vars.pop('cmd')
|
||||
all_vars.pop('req_id')
|
||||
all_vars.pop('stat')
|
||||
|
||||
ret = f"cmd={self.cmd}&req_id={self.req_id}"
|
||||
ret += parse.urlencode(all_vars, doseq=True, quote_via=parse.quote, safe=",")
|
||||
ret = f"cmd={self.cmd}&req_id={self.req_id}&stat={self.stat}"
|
||||
additional_params = parse.urlencode(all_vars, doseq=True, quote_via=parse.quote, safe=",")
|
||||
|
||||
if additional_params != '':
|
||||
ret += f"&{additional_params}"
|
||||
|
||||
return ret
|
||||
|
||||
60
titles/diva/handlers/user.py
Normal file
60
titles/diva/handlers/user.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from titles.diva.handlers.base import BaseRequest, BaseResponse, DivaRequestParseException
|
||||
|
||||
class PreStartRequest(BaseRequest):
|
||||
pmm: str
|
||||
idm: str
|
||||
mmgameid: str
|
||||
mmuid: str
|
||||
a_code: str
|
||||
aime_id: str
|
||||
aime_a_code: str
|
||||
def __init__(self, raw: str) -> None:
|
||||
super().__init__(raw)
|
||||
try:
|
||||
self.key_obj_type = int(self.key_obj_type)
|
||||
self.exec_vu = int(self.exec_vu)
|
||||
|
||||
except AttributeError as e:
|
||||
raise DivaRequestParseException(f"PreStartRequest: {e}")
|
||||
|
||||
class PreStartResponse(BaseResponse):
|
||||
player_name: str
|
||||
sort_kind: str
|
||||
lv_efct_id: str
|
||||
lv_plt_id: str
|
||||
lv_str: str
|
||||
lv_num: str
|
||||
lv_pnt: str
|
||||
vcld_pts: str
|
||||
skn_eqp: str
|
||||
btn_se_eqp: str
|
||||
sld_se_eqp: str
|
||||
chn_sld_se_eqp: str
|
||||
sldr_tch_se_eqp: str
|
||||
passwd_stat: str
|
||||
mdl_eqp_tm: str
|
||||
def __init__(self, cmd_id: str, req_id: int, pd_id: int) -> None:
|
||||
super().__init__(cmd_id, req_id)
|
||||
self.ps_result = 1
|
||||
self.pd_id = pd_id
|
||||
self.accept_idx = 100
|
||||
self.nblss_ltt_stts = -1
|
||||
self.nblss_ltt_tckt = -1
|
||||
self.nblss_ltt_is_opn = -1
|
||||
# Ideally this would be a real array that would get converted later
|
||||
# But this is how it's stored in the db, so w/e for now
|
||||
self.mdl_eqp_ary = "-999,-999,-999"
|
||||
|
||||
class StartRequest(BaseRequest):
|
||||
def __init__(self, raw: str) -> None:
|
||||
super().__init__(raw)
|
||||
try:
|
||||
self.pd_id = int(self.pd_id)
|
||||
self.accept_idx = int(self.accept_idx)
|
||||
|
||||
except AttributeError as e:
|
||||
raise DivaRequestParseException(f"StartRequest: {e}")
|
||||
|
||||
class StartResponse(BaseResponse):
|
||||
def __init__(self, cmd_id: str, req_id: int) -> None:
|
||||
super().__init__(cmd_id, req_id)
|
||||
Reference in New Issue
Block a user