From b79490859ecaebf9949cb951b444b7a100d35abd Mon Sep 17 00:00:00 2001 From: qwerdvd <105906879+qwerdvd@users.noreply.github.com> Date: Fri, 18 Aug 2023 22:45:12 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20ruff=20lint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ArknightsUID/arknightsuid_ap/draw_ap_card.py | 14 ++++++------- ArknightsUID/arknightsuid_ap/notice.py | 8 +++---- .../arknightsuid_resource/__init__.py | 2 +- .../draw_roleinfo_card.py | 2 +- ArknightsUID/arknightsuid_user/__init__.py | 12 +++++------ .../arknightsuid_user/deal_skd_cred.py | 2 +- ArknightsUID/utils/api/skd/request.py | 7 ++----- .../utils/resource/download_from_cos.py | 21 +++++++++---------- ArknightsUID/utils/resource/download_url.py | 2 +- 9 files changed, 33 insertions(+), 37 deletions(-) diff --git a/ArknightsUID/arknightsuid_ap/draw_ap_card.py b/ArknightsUID/arknightsuid_ap/draw_ap_card.py index 3fdf0ab..a1dd69c 100644 --- a/ArknightsUID/arknightsuid_ap/draw_ap_card.py +++ b/ArknightsUID/arknightsuid_ap/draw_ap_card.py @@ -158,7 +158,7 @@ async def draw_ap_img(uid: str) -> Image.Image: if finishTs < recruit[i].finishTs: finishTs = recruit[i].finishTs if finishTs != -1: - # 获取当前时间与 finishTs 的时间差,转换为几小时几分钟 + # 获取当前时间与 finishTs 的时间差, 转换为几小时几分钟 now = datetime.now() finishTs = datetime.fromtimestamp(finishTs) delta = finishTs - now @@ -209,7 +209,7 @@ async def draw_ap_img(uid: str) -> Image.Image: grey_bar_bg1_img = grey_bar_bg1.copy() grey_bar_bg1_draw = ImageDraw.Draw(grey_bar_bg1_img) complete_work_time = player_info.building.hire.completeWorkTime - # 获取当前时间与 completeWorkTime 的时间差,转换为几小时几分钟 + # 获取当前时间与 completeWorkTime 的时间差, 转换为几小时几分钟 now = datetime.now() complete_work_time = datetime.fromtimestamp(complete_work_time) delta = complete_work_time - now @@ -269,7 +269,7 @@ async def draw_ap_img(uid: str) -> Image.Image: remain_secs = player_info.building.training.remainSecs remain_time = 0 if remain_secs != -1: - # 将remainSecs(剩余秒数) ,转换为几小时几分钟 + # 将remainSecs(剩余秒数) , 转换为几小时几分钟 remain_time = seconds2hours_zhcn(remain_secs) char_cn_name = Excel.CHARATER_TABLE[training_char].name @@ -338,7 +338,7 @@ async def draw_ap_img(uid: str) -> Image.Image: anchor='lm', ) - # 获取当前时间与下一周周一早上4点的时间差,转换为几天几小时 + # 获取当前时间与下一周周一早上4点的时间差, 转换为几天几小时 now = datetime.now() next_monday = now + timedelta(days=-now.weekday(), weeks=1) next_monday = next_monday.replace(hour=4, minute=0, second=0, microsecond=0) @@ -364,7 +364,7 @@ async def draw_ap_img(uid: str) -> Image.Image: # routine daily check routine_daily = player_info.routine.daily - # 获取当前时间与下一天早上4点的时间差,转换为几小时几分钟 + # 获取当前时间与下一天早上4点的时间差, 转换为几小时几分钟 now = datetime.now() next_day = now + timedelta(days=1) next_day = next_day.replace(hour=4, minute=0, second=0, microsecond=0) @@ -401,7 +401,7 @@ async def draw_ap_img(uid: str) -> Image.Image: # routine weekly check routine_weekly = player_info.routine.weekly - # 获取当前时间与下一周周一早上4点的时间差,转换为几天几小时 + # 获取当前时间与下一周周一早上4点的时间差, 转换为几天几小时 now = datetime.now() next_monday = now + timedelta(days=-now.weekday(), weeks=1) next_monday = next_monday.replace(hour=4, minute=0, second=0, microsecond=0) @@ -440,7 +440,7 @@ async def draw_ap_img(uid: str) -> Image.Image: tower_reward = player_info.tower.reward higher_item = tower_reward.higherItem term_ts = tower_reward.termTs - # 获取当前时间与 termTs 的时间差,转换为几天几小时 + # 获取当前时间与 termTs 的时间差, 转换为几天几小时 now = datetime.now() term_ts = datetime.fromtimestamp(term_ts) delta = term_ts - now diff --git a/ArknightsUID/arknightsuid_ap/notice.py b/ArknightsUID/arknightsuid_ap/notice.py index 1a233b5..12724eb 100644 --- a/ArknightsUID/arknightsuid_ap/notice.py +++ b/ArknightsUID/arknightsuid_ap/notice.py @@ -7,17 +7,17 @@ from ..utils.database.models import ArknightsPush, ArknightsUser from ..utils.models.skland.models import ArknightsPlayerInfoModel from .utils import now_ap -MR_NOTICE = '\n可发送[arkmr]或者[ark每日]来查看更多信息!\n' +MR_NOTICE = '\n可发送[arkmr]或者[ark每日]来查看更多信息!\n' NOTICE = { - 'ap': f'你的理智快满啦!{MR_NOTICE}', - 'training': f'你的专精即将可收取!{MR_NOTICE}', + 'ap': f'你的理智快满啦!{MR_NOTICE}', + 'training': f'你的专精即将可收取!{MR_NOTICE}', } async def get_notice_list() -> dict[str, dict[str, dict]]: msg_dict: dict[str, dict[str, dict]] = {} - for bot_id in gss.active_bot: + for _bot_id in gss.active_bot: user_list = await ArknightsUser.get_all_push_user_list() for user in user_list: if user.uid is not None: diff --git a/ArknightsUID/arknightsuid_resource/__init__.py b/ArknightsUID/arknightsuid_resource/__init__.py index 436df0c..aed4006 100644 --- a/ArknightsUID/arknightsuid_resource/__init__.py +++ b/ArknightsUID/arknightsuid_resource/__init__.py @@ -21,7 +21,7 @@ async def send_download_resource_msg(bot: Bot, ev: Event): async def startup(): - logger.info('[资源文件下载] 正在检查与下载缺失的资源文件,可能需要较长时间,请稍等') + logger.info('[资源文件下载] 正在检查与下载缺失的资源文件, 可能需要较长时间, 请稍等') await download_all_resource() logger.info('[资源文件下载] 检查完毕, 正在加载 gamedata') diff --git a/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py b/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py index 8c8f38b..5936af3 100644 --- a/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py +++ b/ArknightsUID/arknightsuid_roleinfo/draw_roleinfo_card.py @@ -22,7 +22,7 @@ async def get_role_img(uid: str): player_save_path = get_res_path(['ArknightsUID', 'players']) - with open(player_save_path / f'{player_info.status.uid}.json', 'wb') as file: + with Path.open(player_save_path / f'{player_info.status.uid}.json', 'wb') as file: file.write(msgjson.format(msgjson.encode(player_info), indent=4)) # 放 background diff --git a/ArknightsUID/arknightsuid_user/__init__.py b/ArknightsUID/arknightsuid_user/__init__.py index ca3a69c..7c2e6d8 100644 --- a/ArknightsUID/arknightsuid_user/__init__.py +++ b/ArknightsUID/arknightsuid_user/__init__.py @@ -42,16 +42,16 @@ async def send_link_uid_msg(bot: Bot, ev: Event): bot, data, { - 0: f'绑定ARK_UID{ark_uid}成功!', - -1: f'ARK_UID{ark_uid}的位数不正确!', - -2: f'ARK_UID{ark_uid}已经绑定过了!', + 0: f'绑定ARK_UID{ark_uid}成功!', + -1: f'ARK_UID{ark_uid}的位数不正确!', + -2: f'ARK_UID{ark_uid}已经绑定过了!', -3: '你输入了错误的格式!', }, ) elif '切换' in ev.command: data = await ArknightsBind.switch_uid_by_game(qid, ev.bot_id, ark_uid) if isinstance(data, list): - return await bot.send(f'切换ARK_UID{ark_uid}成功!') + return await bot.send(f'切换ARK_UID{ark_uid}成功!') else: return await bot.send(f'尚未绑定该ARK_UID{ark_uid}') else: @@ -60,8 +60,8 @@ async def send_link_uid_msg(bot: Bot, ev: Event): bot, data, { - 0: f'删除ARK_UID{ark_uid}成功!', - -1: f'该ARK_UID{ark_uid}不在已绑定列表中!', + 0: f'删除ARK_UID{ark_uid}成功!', + -1: f'该ARK_UID{ark_uid}不在已绑定列表中!', }, ) diff --git a/ArknightsUID/arknightsuid_user/deal_skd_cred.py b/ArknightsUID/arknightsuid_user/deal_skd_cred.py index c1aeeb1..3c5449b 100644 --- a/ArknightsUID/arknightsuid_user/deal_skd_cred.py +++ b/ArknightsUID/arknightsuid_user/deal_skd_cred.py @@ -1,7 +1,7 @@ from ..utils.ark_api import ark_skd_api from ..utils.database.models import ArknightsBind, ArknightsUser -ERROR_HINT = '添加失败,格式为: skd添加cred Cred 例如: skd添加cred VropL583Sb1hClS5buQ4nSASkDlL8tMT' +ERROR_HINT = '添加失败, 格式为: skd添加cred Cred 例如: skd添加cred VropL583Sb1hClS5buQ4nSASkDlL8tMT' UID_HINT = '添加失败, 请先绑定明日方舟UID' diff --git a/ArknightsUID/utils/api/skd/request.py b/ArknightsUID/utils/api/skd/request.py index fb29d6f..88c58f3 100644 --- a/ArknightsUID/utils/api/skd/request.py +++ b/ArknightsUID/utils/api/skd/request.py @@ -1,5 +1,5 @@ from copy import deepcopy -from typing import Any, Literal +from typing import Any, ClassVar, Literal import msgspec from aiohttp import ClientSession, ContentTypeError, TCPConnector @@ -12,7 +12,7 @@ from .api import ARK_PLAYER_INFO, ARK_USER_ME class BaseArkApi: ssl_verify = True - _HEADER = { + _HEADER: ClassVar[dict[str, str]] = { 'Host': 'zonai.skland.com', 'Origin': 'https://www.skland.com', 'Referer': 'https://www.skland.com/', @@ -95,9 +95,6 @@ class BaseArkApi: ) as resp: try: raw_data = await resp.json() - with open('test.json', 'w', encoding='utf-8') as f: - import json - json.dump(raw_data, f, ensure_ascii=False, indent=4) except ContentTypeError: _raw_data = await resp.text() raw_data = {'code': -999, 'data': _raw_data} diff --git a/ArknightsUID/utils/resource/download_from_cos.py b/ArknightsUID/utils/resource/download_from_cos.py index 395e447..d82c904 100644 --- a/ArknightsUID/utils/resource/download_from_cos.py +++ b/ArknightsUID/utils/resource/download_from_cos.py @@ -1,5 +1,4 @@ import asyncio -import os from pathlib import Path from aiohttp.client import ClientSession @@ -9,7 +8,9 @@ from msgspec import json as msgjson from .download_url import download_file from .RESOURCE_PATH import RESOURCE_PATH -with open( +MAX_DOWNLOAD = 10 + +with Path.open( Path(__file__).parent / 'resource_map.json', encoding='UTF-8' ) as f: resource_map = msgjson.decode( @@ -48,12 +49,12 @@ async def download_all_file_from_cos(): continue path = Path(RESOURCE_PATH / resource_type / name) if path.exists(): - is_diff = size == os.stat(path).st_size + is_diff = size == Path.stat(path).st_size else: is_diff = True if ( not path.exists() - or not os.stat(path).st_size + or not Path.stat(path).st_size or not is_diff ): logger.info(f'[cos]开始下载[{resource_type}]_[{name}]...') @@ -67,10 +68,9 @@ async def download_all_file_from_cos(): ) ) # await download_file(url, FILE_TO_PATH[file], name) - if len(TASKS) >= 10: + if len(TASKS) >= MAX_DOWNLOAD: await _download(TASKS) - else: - await _download(TASKS) + await _download(TASKS) if temp_num == 0: im = f'[cos]数据库[{resource_type}]无需下载!' else: @@ -86,9 +86,8 @@ async def download_all_file_from_cos(): timeout=60, ) ) - if len(TASKS) >= 10: + if len(TASKS) >= MAX_DOWNLOAD: await _download(TASKS) - else: - await _download(TASKS) + await _download(TASKS) if count := len(failed_list): - logger.error(f'[cos]仍有{count}个文件未下载,请使用命令 `下载全部资源` 重新下载') + logger.error(f'[cos]仍有{count}个文件未下载, 请使用命令 `下载全部资源` 重新下载') diff --git a/ArknightsUID/utils/resource/download_url.py b/ArknightsUID/utils/resource/download_url.py index 669846d..e33ea04 100644 --- a/ArknightsUID/utils/resource/download_url.py +++ b/ArknightsUID/utils/resource/download_url.py @@ -24,7 +24,7 @@ async def download( * url: `str` 资源下载地址。 * res_type: `str` - 资源类型,`resource`或`wiki`。 + 资源类型, `resource`或`wiki`。 * resource_type: `str` 资源文件夹名 * name: `str`