From 18302364230e5f7898b3c2da56284e89d86d1947 Mon Sep 17 00:00:00 2001
From: Kyomotoi <kyomotoiowo@gmail.com>
Date: Sun, 17 Apr 2022 11:55:40 +0800
Subject: =?UTF-8?q?=F0=9F=9A=91=EF=B8=8F=20=E7=B4=A7=E6=80=A5=E4=BF=AE?=
 =?UTF-8?q?=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ATRI/plugins/saucenao/__init__.py    | 18 ++++++++++++++----
 ATRI/plugins/saucenao/data_source.py | 12 ++----------
 2 files changed, 16 insertions(+), 14 deletions(-)

(limited to 'ATRI')

diff --git a/ATRI/plugins/saucenao/__init__.py b/ATRI/plugins/saucenao/__init__.py
index 071af98..9b502bd 100644
--- a/ATRI/plugins/saucenao/__init__.py
+++ b/ATRI/plugins/saucenao/__init__.py
@@ -3,25 +3,35 @@ from random import choice
 from nonebot.adapters.onebot.v11 import MessageEvent, Message, MessageSegment
 from nonebot.adapters.onebot.v11.helpers import extract_image_urls, Cooldown
 
-from ATRI.config import SauceNAO
-from .data_source import SaouceNao
+from ATRI.log import logger as log
+from ATRI.config import SauceNAO as sn
+from ATRI.service import ServiceTools
+from .data_source import SauceNao
 
 
 _search_flmt_notice = choice(["慢...慢一..点❤", "冷静1下", "歇会歇会~~"])
 
 
-saucenao = SaouceNao().on_command("以图搜图", "透过一张图搜索可能的来源")
+saucenao = SauceNao().on_command("以图搜图", "透过一张图搜索可能的来源")
 
 
 @saucenao.got("saucenao_img", "图呢?", [Cooldown(5, prompt=_search_flmt_notice)])
 async def _deal_search(event: MessageEvent):
+
+    # cache fix
+    if not sn.key:
+        data = ServiceTools.load_service("以图搜图")
+        data["enabled"] = False
+        ServiceTools.save_service(data, "以图搜图")
+        log.warning("插件 SauceNao 所需的 key 未配置,将被全局禁用,后续填写请手动启用")
+
     user_id = event.get_user_id()
     img = extract_image_urls(event.message)
     if not img:
         await saucenao.reject("请发送图片而不是其他东西!!")
 
     try:
-        a = SaouceNao(SauceNAO.key)
+        a = SauceNao(sn.key)
     except Exception:
         await saucenao.finish("失败了...")
 
diff --git a/ATRI/plugins/saucenao/data_source.py b/ATRI/plugins/saucenao/data_source.py
index 8350839..521a957 100644
--- a/ATRI/plugins/saucenao/data_source.py
+++ b/ATRI/plugins/saucenao/data_source.py
@@ -1,17 +1,15 @@
 from random import choice
 
-from ATRI.service import Service, ServiceTools
+from ATRI.service import Service
 from ATRI.rule import is_in_service
 from ATRI.exceptions import RequestError
 from ATRI.utils import request
-from ATRI.config import SauceNAO as sa
-from ATRI.log import logger as log
 
 
 URL = "https://saucenao.com/search.php"
 
 
-class SaouceNao(Service):
+class SauceNao(Service):
     def __init__(
         self,
         api_key: str = str(),
@@ -23,12 +21,6 @@ class SaouceNao(Service):
     ):
         Service.__init__(self, "以图搜图", "以图搜图,仅限二刺螈", rule=is_in_service("以图搜图"))
 
-        if not sa.key:
-            data = ServiceTools.load_service("以图搜图")
-            data["enabled"] = False
-            ServiceTools.save_service(data, "以图搜图")
-            log.warning("插件 SauceNao 所需的 key 未配置,将被全局禁用,后续填写请手动启用")
-
         params = dict()
         params["api_key"] = api_key
         params["output_type"] = output_type
-- 
cgit v1.2.3