summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyomotoi <[email protected]>2022-07-22 19:46:19 +0800
committerKyomotoi <[email protected]>2022-07-22 19:46:19 +0800
commit8012b5ab7fb3d9a26976997df6dbb53c1e7f994c (patch)
treee96219fe42f2157e9981f51aa5499ad541dca4a0
parent6b877d5e084f059c7769d1294c0e829ec34cb41b (diff)
downloadATRI-8012b5ab7fb3d9a26976997df6dbb53c1e7f994c.tar.gz
ATRI-8012b5ab7fb3d9a26976997df6dbb53c1e7f994c.tar.bz2
ATRI-8012b5ab7fb3d9a26976997df6dbb53c1e7f994c.zip
🎨 优化代码
-rw-r--r--ATRI/plugins/polaroid/data_source.py28
-rw-r--r--ATRI/plugins/saucenao/__init__.py4
-rw-r--r--ATRI/plugins/twitter/data_source.py4
3 files changed, 17 insertions, 19 deletions
diff --git a/ATRI/plugins/polaroid/data_source.py b/ATRI/plugins/polaroid/data_source.py
index 220d8d5..5314397 100644
--- a/ATRI/plugins/polaroid/data_source.py
+++ b/ATRI/plugins/polaroid/data_source.py
@@ -1,9 +1,10 @@
from ATRI import driver
-from ATRI.service import Service
+from ATRI.service import Service, ServiceTools
from ATRI.rule import is_in_service
from ATRI.utils import request
from ATRI.log import logger as log
from ATRI.exceptions import RequestError
+
from .image_dealer import image_dealer
@@ -21,7 +22,7 @@ class Polaroid(Service):
res = await request.get(TENCENT_AVATER_URL.format(user_id=user_id))
except Exception:
raise RequestError("Request failed!")
- data = res.read()
+ data = res.read() # type: ignore
return data
@classmethod
@@ -40,19 +41,20 @@ from .image_dealer import TEMP_PATH, POLAROID_DIR
async def init_source():
files = ["frame-0.PNG", "frame-1.PNG", "font-0.ttf"]
- for i in files:
- path = POLAROID_DIR / i
- if not path.is_file():
- log.warning("插件 polaroid 缺少所需资源,装载中")
-
- url = SOURCE_URL + i
- try:
+ try:
+ for i in files:
+ path = POLAROID_DIR / i
+ if not path.is_file():
+ log.warning("插件 polaroid 缺少所需资源,装载中")
+ url = SOURCE_URL + i
data = await request.get(url)
with open(path, "wb") as w:
- w.write(data.read())
- log.info("所需资源装载完成")
- except Exception:
- log.error("装载资源失败")
+ w.write(data.read()) # type: ignore
+ except Exception:
+ ServiceTools.service_controller("拍立得", False)
+ log.error(f"插件 polaroid 装载资源失败. 已自动禁用")
+
+ log.success("插件 polaroid 装载资源完成")
driver().on_startup(init_source)
diff --git a/ATRI/plugins/saucenao/__init__.py b/ATRI/plugins/saucenao/__init__.py
index 9b502bd..bf9e06b 100644
--- a/ATRI/plugins/saucenao/__init__.py
+++ b/ATRI/plugins/saucenao/__init__.py
@@ -20,9 +20,7 @@ async def _deal_search(event: MessageEvent):
# cache fix
if not sn.key:
- data = ServiceTools.load_service("以图搜图")
- data["enabled"] = False
- ServiceTools.save_service(data, "以图搜图")
+ ServiceTools.service_controller("以图搜图", False)
log.warning("插件 SauceNao 所需的 key 未配置,将被全局禁用,后续填写请手动启用")
user_id = event.get_user_id()
diff --git a/ATRI/plugins/twitter/data_source.py b/ATRI/plugins/twitter/data_source.py
index 375c06c..c9168a7 100644
--- a/ATRI/plugins/twitter/data_source.py
+++ b/ATRI/plugins/twitter/data_source.py
@@ -160,9 +160,7 @@ async def _check_status():
await _regot_in_need()
scheduler.add_job(_regot_in_need, "interval", name="刷新推特凭据", minutes=30, misfire_grace_time=10) # type: ignore
except Exception:
- data = ServiceTools.load_service("推特动态订阅")
- data["enabled"] = False
- ServiceTools.save_service(data, "推特动态订阅")
+ ServiceTools.service_controller("推特动态订阅", False)
log.warning("无法连接至 Twitter,这将导致相关插件无法工作. 已自动禁用.")