from typing import Union, List from titles.diva.handlers.base import ( BaseRequest, BaseResponse, DivaRequestParseException, ) from datetime import datetime from urllib import parse from ..const import DivaConstants class GetPvPdRequest(BaseRequest): def __init__(self, raw: str | bytes) -> None: super().__init__(raw) try: self.pd_id = int(self.pd_id) self.accept_idx = int(self.accept_idx) self.start_idx = int(self.start_idx) self.difficulty = int(self.difficulty) self.pd_pv_id_lst: List[int] = [int(x) for x in self.pd_pv_id_lst.split(',')] except AttributeError as e: raise DivaRequestParseException(f"GetPvPdRequest: {e}") class GetPvPdResponse(BaseResponse): def __init__(self, cmd_id: str, req_id: int) -> None: super().__init__(cmd_id, req_id) self.pd_by_pv_id = "" self.pdddt_flg = 0 self.pdddt_tm = parse.quote(datetime.now().strftime(DivaConstants.LUT_TIME_FMT))