From 6dd87ee301ab02a38a9210189f81f01492e0d839 Mon Sep 17 00:00:00 2001 From: yajiwa <839790708@qq.com> Date: Wed, 25 May 2022 07:02:42 +0800 Subject: [PATCH] fix draw_card --- plugins/draw_card/handles/azur_handle.py | 2 +- plugins/draw_card/handles/prts_handle.py | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/plugins/draw_card/handles/azur_handle.py b/plugins/draw_card/handles/azur_handle.py index 9434077b..1b1a878d 100644 --- a/plugins/draw_card/handles/azur_handle.py +++ b/plugins/draw_card/handles/azur_handle.py @@ -293,7 +293,7 @@ class AzurHandle(BaseHandle[AzurChar]): type_ = ship.xpath("./tbody/tr/td[2]/p/small/text()")[0] # 舰船类型 try: p = float(str(ship.xpath(".//sup/text()")[0]).strip("%")) - except IndexError: + except (IndexError, ValueError): p = 0 star = self.parse_star( ship.xpath("./tbody/tr/td[1]/div/div/div/a/img/@alt")[0] diff --git a/plugins/draw_card/handles/prts_handle.py b/plugins/draw_card/handles/prts_handle.py index e51d0722..778256c2 100644 --- a/plugins/draw_card/handles/prts_handle.py +++ b/plugins/draw_card/handles/prts_handle.py @@ -19,7 +19,7 @@ except ModuleNotFoundError: import json from .base_handle import BaseHandle, BaseData, UpChar, UpEvent -from ..config import draw_config +from ..config import draw_config, DRAW_PATH from ..util import remove_prohibited_str, cn2py, load_font from utils.image_utils import BuildImage @@ -106,8 +106,6 @@ class PrtsHandle(BaseHandle[Operator]): async def draw(self, count: int, **kwargs) -> Message: return await asyncio.get_event_loop().run_in_executor(None, self._draw, count) - - def _draw(self, count: int, **kwargs) -> Message: index2card = self.get_cards(count) @@ -164,8 +162,9 @@ class PrtsHandle(BaseHandle[Operator]): def load_up_char(self): try: - data = self.load_data(f"draw_card_up/{self.game_name}_up_char.json") - self.UP_EVENT = UpEvent.parse_obj(data.get("char", {})) + if (DRAW_PATH / "draw_card_up" / f"{self.game_name}_up_char.json").exists(): + data = self.load_data(f"draw_card_up/{self.game_name}_up_char.json") + self.UP_EVENT = UpEvent.parse_obj(data.get("char", {})) except ValidationError: logger.warning(f"{self.game_name}_up_char 解析出错")