diff options
Diffstat (limited to 'ATRI/plugins/saucenao/data_source.py')
-rw-r--r-- | ATRI/plugins/saucenao/data_source.py | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/ATRI/plugins/saucenao/data_source.py b/ATRI/plugins/saucenao/data_source.py index 6e72c98..d948f91 100644 --- a/ATRI/plugins/saucenao/data_source.py +++ b/ATRI/plugins/saucenao/data_source.py @@ -16,15 +16,8 @@ __doc__ = """ class SaouceNao(Service): - def __init__( - self, - api_key: str = None, - output_type=2, - testmode=1, - dbmaski=32768, - db=5, - numres=5, - ): + + def __init__(self, api_key: str = None, output_type=2, testmode=1, dbmaski=32768, db=5, numres=5): Service.__init__(self, "以图搜图", __doc__, rule=is_in_service("以图搜图")) params = dict() @@ -35,31 +28,31 @@ class SaouceNao(Service): params["db"] = db params["numres"] = numres self.params = params - + async def _request(self, url: str): self.params["url"] = url - + try: res = await request.post(URL, params=self.params) except RequestError: raise RequestError("Request failed!") data = await res.json() return data - + async def search(self, url: str) -> str: data = await self._request(url) res = data["results"] - + result = list() for i in range(len(res)): data = res[i] - + _result = dict() _result["similarity"] = data["header"]["similarity"] _result["index_name"] = data["header"]["index_name"] _result["url"] = choice(data["data"].get("ext_urls", ["None"])) result.append(_result) - + msg0 = str() for i in result: msg0 += ( @@ -68,7 +61,7 @@ class SaouceNao(Service): f"Name: {i['index_name']}\n" f"URL: {i['url'].replace('https://', '')}" ) - + if len(res) <= 3: return msg0 else: |