format with black
This commit is contained in:
parent
5443d24352
commit
5be25f89ff
@ -2,31 +2,38 @@ from urllib import parse
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Union
|
from typing import Union
|
||||||
|
|
||||||
|
|
||||||
class DivaRequestParseException(Exception):
|
class DivaRequestParseException(Exception):
|
||||||
"""
|
"""
|
||||||
Exception raised when there is a fault in parsing a diva request,
|
Exception raised when there is a fault in parsing a diva request,
|
||||||
either due to a malformed request, or missing required items
|
either due to a malformed request, or missing required items
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, message: str) -> None:
|
def __init__(self, message: str) -> None:
|
||||||
self.message = message
|
self.message = message
|
||||||
super().__init__(self.message)
|
super().__init__(self.message)
|
||||||
|
|
||||||
|
|
||||||
class BaseBinaryRequest:
|
class BaseBinaryRequest:
|
||||||
cmd: str
|
cmd: str
|
||||||
req_id: str
|
req_id: str
|
||||||
|
|
||||||
def __init__(self, raw: bytes) -> None:
|
def __init__(self, raw: bytes) -> None:
|
||||||
self.raw = raw
|
self.raw = raw
|
||||||
self.raw_dict = dict(parse.parse_qsl(raw))
|
self.raw_dict = dict(parse.parse_qsl(raw))
|
||||||
|
|
||||||
if 'cmd' not in self.raw_dict:
|
if "cmd" not in self.raw_dict:
|
||||||
raise DivaRequestParseException(f"cmd not in request data {self.raw_dict}")
|
raise DivaRequestParseException(f"cmd not in request data {self.raw_dict}")
|
||||||
|
|
||||||
if 'req_id' not in self.raw_dict:
|
if "req_id" not in self.raw_dict:
|
||||||
raise DivaRequestParseException(f"req_id not in request data {self.raw_dict}")
|
raise DivaRequestParseException(
|
||||||
|
f"req_id not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
for k, v in self.raw_dict:
|
for k, v in self.raw_dict:
|
||||||
setattr(self, k, v)
|
setattr(self, k, v)
|
||||||
|
|
||||||
|
|
||||||
class BaseRequest:
|
class BaseRequest:
|
||||||
cmd: str
|
cmd: str
|
||||||
req_id: str
|
req_id: str
|
||||||
@ -35,36 +42,53 @@ class BaseRequest:
|
|||||||
kc_serial: str
|
kc_serial: str
|
||||||
b_serial: str
|
b_serial: str
|
||||||
country_code: str
|
country_code: str
|
||||||
|
|
||||||
def __init__(self, raw: Union[str, bytes]) -> None:
|
def __init__(self, raw: Union[str, bytes]) -> None:
|
||||||
self.raw = raw
|
self.raw = raw
|
||||||
self.raw_dict = dict(parse.parse_qsl(raw))
|
self.raw_dict = dict(parse.parse_qsl(raw))
|
||||||
|
|
||||||
if 'cmd' not in self.raw_dict:
|
if "cmd" not in self.raw_dict:
|
||||||
raise DivaRequestParseException(f"cmd not in request data {self.raw_dict}")
|
raise DivaRequestParseException(f"cmd not in request data {self.raw_dict}")
|
||||||
|
|
||||||
if 'req_id' not in self.raw_dict:
|
if "req_id" not in self.raw_dict:
|
||||||
raise DivaRequestParseException(f"req_id not in request data {self.raw_dict}")
|
raise DivaRequestParseException(
|
||||||
|
f"req_id not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
if 'place_id' not in self.raw_dict:
|
if "place_id" not in self.raw_dict:
|
||||||
raise DivaRequestParseException(f"place_id not in request data {self.raw_dict}")
|
raise DivaRequestParseException(
|
||||||
|
f"place_id not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
if 'start_up_mode' not in 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}")
|
raise DivaRequestParseException(
|
||||||
|
f"start_up_mode not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
if 'cmm_dly_mod' not in 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}")
|
raise DivaRequestParseException(
|
||||||
|
f"cmm_dly_mod not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
if 'cmm_dly_sec' not in 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}")
|
raise DivaRequestParseException(
|
||||||
|
f"cmm_dly_sec not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
if 'cmm_err_mod' not in 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}")
|
raise DivaRequestParseException(
|
||||||
|
f"cmm_err_mod not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
if 'region_code' not in self.raw_dict:
|
if "region_code" not in self.raw_dict:
|
||||||
raise DivaRequestParseException(f"region_code not in request data {self.raw_dict}")
|
raise DivaRequestParseException(
|
||||||
|
f"region_code not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
if 'time_stamp' not in self.raw_dict:
|
if "time_stamp" not in self.raw_dict:
|
||||||
raise DivaRequestParseException(f"time_stamp not in request data {self.raw_dict}")
|
raise DivaRequestParseException(
|
||||||
|
f"time_stamp not in request data {self.raw_dict}"
|
||||||
|
)
|
||||||
|
|
||||||
for k, v in self.raw_dict:
|
for k, v in self.raw_dict:
|
||||||
setattr(self, k, v)
|
setattr(self, k, v)
|
||||||
@ -78,6 +102,7 @@ class BaseRequest:
|
|||||||
# datetime.now().astimezone().replace(microsecond=0).isoformat()
|
# datetime.now().astimezone().replace(microsecond=0).isoformat()
|
||||||
self.time_stamp = datetime.strptime(self.time_stamp, "%Y-%m-%dT%H:%M:%S%z")
|
self.time_stamp = datetime.strptime(self.time_stamp, "%Y-%m-%dT%H:%M:%S%z")
|
||||||
|
|
||||||
|
|
||||||
class BaseResponse:
|
class BaseResponse:
|
||||||
def __init__(self, cmd_id: str, req_id: int) -> None:
|
def __init__(self, cmd_id: str, req_id: int) -> None:
|
||||||
self.cmd = cmd_id
|
self.cmd = cmd_id
|
||||||
@ -86,14 +111,16 @@ class BaseResponse:
|
|||||||
|
|
||||||
def make(self) -> str:
|
def make(self) -> str:
|
||||||
all_vars = vars(self)
|
all_vars = vars(self)
|
||||||
all_vars.pop('cmd')
|
all_vars.pop("cmd")
|
||||||
all_vars.pop('req_id')
|
all_vars.pop("req_id")
|
||||||
all_vars.pop('stat')
|
all_vars.pop("stat")
|
||||||
|
|
||||||
ret = f"cmd={self.cmd}&req_id={self.req_id}&stat={self.stat}"
|
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=",")
|
additional_params = parse.urlencode(
|
||||||
|
all_vars, doseq=True, quote_via=parse.quote, safe=","
|
||||||
|
)
|
||||||
|
|
||||||
if additional_params != '':
|
if additional_params != "":
|
||||||
ret += f"&{additional_params}"
|
ret += f"&{additional_params}"
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
from titles.diva.handlers.base import BaseRequest, BaseResponse, DivaRequestParseException
|
from titles.diva.handlers.base import (
|
||||||
|
BaseRequest,
|
||||||
|
BaseResponse,
|
||||||
|
DivaRequestParseException,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class PreStartRequest(BaseRequest):
|
class PreStartRequest(BaseRequest):
|
||||||
pmm: str
|
pmm: str
|
||||||
@ -8,6 +13,7 @@ class PreStartRequest(BaseRequest):
|
|||||||
a_code: str
|
a_code: str
|
||||||
aime_id: str
|
aime_id: str
|
||||||
aime_a_code: str
|
aime_a_code: str
|
||||||
|
|
||||||
def __init__(self, raw: str) -> None:
|
def __init__(self, raw: str) -> None:
|
||||||
super().__init__(raw)
|
super().__init__(raw)
|
||||||
try:
|
try:
|
||||||
@ -17,6 +23,7 @@ class PreStartRequest(BaseRequest):
|
|||||||
except AttributeError as e:
|
except AttributeError as e:
|
||||||
raise DivaRequestParseException(f"PreStartRequest: {e}")
|
raise DivaRequestParseException(f"PreStartRequest: {e}")
|
||||||
|
|
||||||
|
|
||||||
class PreStartResponse(BaseResponse):
|
class PreStartResponse(BaseResponse):
|
||||||
player_name: str
|
player_name: str
|
||||||
sort_kind: str
|
sort_kind: str
|
||||||
@ -33,6 +40,7 @@ class PreStartResponse(BaseResponse):
|
|||||||
sldr_tch_se_eqp: str
|
sldr_tch_se_eqp: str
|
||||||
passwd_stat: str
|
passwd_stat: str
|
||||||
mdl_eqp_tm: str
|
mdl_eqp_tm: str
|
||||||
|
|
||||||
def __init__(self, cmd_id: str, req_id: int, pd_id: int) -> None:
|
def __init__(self, cmd_id: str, req_id: int, pd_id: int) -> None:
|
||||||
super().__init__(cmd_id, req_id)
|
super().__init__(cmd_id, req_id)
|
||||||
self.ps_result = 1
|
self.ps_result = 1
|
||||||
@ -45,6 +53,7 @@ class PreStartResponse(BaseResponse):
|
|||||||
# But this is how it's stored in the db, so w/e for now
|
# But this is how it's stored in the db, so w/e for now
|
||||||
self.mdl_eqp_ary = "-999,-999,-999"
|
self.mdl_eqp_ary = "-999,-999,-999"
|
||||||
|
|
||||||
|
|
||||||
class StartRequest(BaseRequest):
|
class StartRequest(BaseRequest):
|
||||||
def __init__(self, raw: str) -> None:
|
def __init__(self, raw: str) -> None:
|
||||||
super().__init__(raw)
|
super().__init__(raw)
|
||||||
@ -55,6 +64,7 @@ class StartRequest(BaseRequest):
|
|||||||
except AttributeError as e:
|
except AttributeError as e:
|
||||||
raise DivaRequestParseException(f"StartRequest: {e}")
|
raise DivaRequestParseException(f"StartRequest: {e}")
|
||||||
|
|
||||||
|
|
||||||
class StartResponse(BaseResponse):
|
class StartResponse(BaseResponse):
|
||||||
def __init__(self, cmd_id: str, req_id: int) -> None:
|
def __init__(self, cmd_id: str, req_id: int) -> None:
|
||||||
super().__init__(cmd_id, req_id)
|
super().__init__(cmd_id, req_id)
|
||||||
|
Loading…
Reference in New Issue
Block a user