修改模块名称和类名称

已经确认检查单上的内容检查完毕
This commit is contained in:
洛水.山岭居室 2022-06-01 11:46:26 +08:00
parent 6ed9960ed1
commit cabf28d0aa
12 changed files with 31 additions and 26 deletions

View File

@ -0,0 +1,3 @@
from .hyperion import *
from .hoyolab import *
from .gacha import *

View File

@ -57,7 +57,7 @@ class ArtworkInfo:
self.post_id = post_id
class MiHoYoBBSResponse:
class HyperionResponse:
def __init__(self, response=None, error_message: str = ""):
if response is None:
self.error: bool = True
@ -124,5 +124,5 @@ class MiHoYoBBSResponse:
class ServiceEnum(Enum):
MIHOYO = 1
HYPERION = 1
HOYOLAB = 2

View File

@ -1,6 +1,6 @@
import httpx
from model.genshinhelper import BaseResponseData
from model.apihelper import BaseResponseData
class GachaInfo:

View File

@ -1,7 +1,7 @@
from httpx import AsyncClient
from model.genshinhelper import BaseResponseData
from model.genshinhelper.helpers import get_ds, get_device_id, recognize_server
from model.apihelper import BaseResponseData
from model.apihelper.helpers import get_ds, get_device_id, recognize_server
class Genshin:

View File

@ -3,11 +3,16 @@ import re
from typing import List
import httpx
from httpx import AsyncClient
from .base import MiHoYoBBSResponse, ArtworkImage, BaseResponseData
from .base import HyperionResponse, ArtworkImage, BaseResponseData
from .helpers import get_ds, get_device_id
class Mihoyo:
class Hyperion:
"""
米忽悠bbs相关API请求
该名称来源于米忽悠的米游社包名结尾考虑到大部分重要的功能都能是在移动端实现了
"""
POST_FULL_URL = "https://bbs-api.mihoyo.com/post/wapi/getPostFull"
POST_FULL_IN_COLLECTION_URL = "https://bbs-api.mihoyo.com/post/wapi/getPostFullInCollection"
GET_NEW_LIST_URL = "https://bbs-api.mihoyo.com/post/wapi/getNewsList"
@ -85,7 +90,7 @@ class Mihoyo:
return BaseResponseData(error_message="请求错误")
return BaseResponseData(response.json())
async def get_artwork_info(self, gids: int, post_id: int, read: int = 1) -> MiHoYoBBSResponse:
async def get_artwork_info(self, gids: int, post_id: int, read: int = 1) -> HyperionResponse:
params = {
"gids": gids,
"post_id": post_id,
@ -93,8 +98,8 @@ class Mihoyo:
}
response = await self.client.get(self.POST_FULL_URL, params=params)
if response.is_error:
return MiHoYoBBSResponse(error_message="请求错误")
return MiHoYoBBSResponse(response.json())
return HyperionResponse(error_message="请求错误")
return HyperionResponse(response.json())
async def get_post_full_info(self, gids: int, post_id: int, read: int = 1) -> BaseResponseData:
params = {
@ -161,7 +166,7 @@ class YuanShen:
USER_AGENT = "Mozilla/5.0 (Linux; Android 9; Unspecified Device) AppleWebKit/537.36 (KHTML, like Gecko) " \
"Version/4.0 Chrome/39.0.0.0 Mobile Safari/537.36 miHoYoBBS/2.3.0"
REFERER = "https://webstatic.mihoyo.com/bbs/event/signin-ys/index.html?" \
"bbs_auth_required=true&act_id=e202009291139501&utm_source=bbs&utm_medium=mys&utm_campaign=icon"
"bbs_auth_required=true&act_id=e202009291139501&utm_source=hyperion&utm_medium=mys&utm_campaign=icon"
ORIGIN = "https://webstatic.mihoyo.com"
ACT_ID = "e202009291139501"

View File

@ -1,3 +0,0 @@
from .mihoyo import *
from .hoyolab import *
from .gacha import *

View File

@ -92,7 +92,7 @@ class Inline:
InlineQueryResultPhoto(
id=str(uuid4()),
photo_url=url + "?x-oss-process=format,jpg",
thumb_url=url_add_params(url, self.service.get_game_info.mihoyo.get_images_params(
thumb_url=url_add_params(url, self.service.get_game_info.hyperion.get_images_params(
resize=300)),
title=title,
caption=caption,

View File

@ -9,7 +9,7 @@ from telegram.helpers import escape_markdown
from config import config
from logger import Log
from model.genshinhelper import Mihoyo, ArtworkImage
from model.apihelper import Hyperion, ArtworkImage
from plugins.base import BasePlugins
from service import BaseService
@ -29,7 +29,7 @@ class Post(BasePlugins):
def __init__(self, service: BaseService):
super().__init__(service)
self.bbs = Mihoyo()
self.bbs = Hyperion()
async def command_start(self, update: Update, context: CallbackContext) -> int:
user = update.effective_user

View File

@ -1,4 +1,4 @@
from model.genshinhelper import GachaInfo
from model.apihelper import GachaInfo
from service.repository import AsyncRepository
from service.cache import RedisCache

View File

@ -1,4 +1,4 @@
from model.genshinhelper import Mihoyo
from model.apihelper import Hyperion
from service.repository import AsyncRepository
from service.cache import RedisCache
@ -7,7 +7,7 @@ class GetGameInfo:
def __init__(self, repository: AsyncRepository, cache: RedisCache):
self.repository = repository
self.cache = cache
self.mihoyo = Mihoyo()
self.hyperion = Hyperion()
async def get_characters_cultivation_atlas(self, character_name: str) -> str:
qname = f"game:info:characters_cultivation_atlas:{character_name}"
@ -18,7 +18,7 @@ class GetGameInfo:
return url_info[-1]
async def get_post_id(collection_id: int) -> int:
post_full_in_collection = await self.mihoyo.get_post_full_in_collection(collection_id)
post_full_in_collection = await self.hyperion.get_post_full_in_collection(collection_id)
if post_full_in_collection.error:
await self.cache.set_str_list(qname, [""], 3600)
return -1
@ -41,6 +41,6 @@ class GetGameInfo:
if post_id == -1:
await self.cache.set_str_list(qname, [""], 3600)
return ""
artwork_info = await self.mihoyo.get_artwork_info(2, post_id)
artwork_info = await self.hyperion.get_artwork_info(2, post_id)
await self.cache.set_str_list(qname, artwork_info.results.image_url_list, 3600)
return artwork_info.results.image_url_list[0]

View File

@ -1,20 +1,20 @@
import unittest
from unittest import IsolatedAsyncioTestCase
from model.genshinhelper import Mihoyo
from model.apihelper import Hyperion
class TestGame(IsolatedAsyncioTestCase):
def setUp(self):
self.mihoyo = Mihoyo()
self.hyperion = Hyperion()
async def test_get_strategy(self):
test_collection_id_list = [839176, 839179, 839181]
test_result = ["温迪", "胡桃", "雷电将军"]
async def get_post_id(_collection_id: int, character_name: str) -> str:
post_full_in_collection = await self.mihoyo.get_post_full_in_collection(_collection_id)
post_full_in_collection = await self.hyperion.get_post_full_in_collection(_collection_id)
if post_full_in_collection.error:
raise RuntimeError(f"获取收藏信息错误,错误信息为:{post_full_in_collection.message}")
for post_data in post_full_in_collection.data["posts"]:
@ -30,7 +30,7 @@ class TestGame(IsolatedAsyncioTestCase):
self.assertEqual(first, second)
async def asyncTearDown(self) -> None:
await self.mihoyo.close()
await self.hyperion.close()
if __name__ == "__main__":