From 26af2d8b4cd52e9cae3768e13e4704be3f7f2f2a Mon Sep 17 00:00:00 2001 From: felinae98 <731499577@qq.com> Date: Thu, 18 Feb 2021 01:07:15 +0800 Subject: [PATCH] update --- .../hk_reporter/platform/arkninghts.py | 57 +------------------ 1 file changed, 1 insertion(+), 56 deletions(-) diff --git a/src/plugins/hk_reporter/platform/arkninghts.py b/src/plugins/hk_reporter/platform/arkninghts.py index 53d732f..3782959 100644 --- a/src/plugins/hk_reporter/platform/arkninghts.py +++ b/src/plugins/hk_reporter/platform/arkninghts.py @@ -14,61 +14,6 @@ from .platform import PlatformNoTarget, CategoryNotSupport from ..utils import Singleton, Render from ..post import Post -class Arknights_(metaclass=Singleton): - - def __init__(self): - self.exists_posts = defaultdict(set) - self.inited = defaultdict(lambda: False) - - async def get_announce_list(self): - async with httpx.AsyncClient() as client: - raw_data = await client.get('http://ak-fs.hypergryph.com/announce/IOS/announcement.meta.json') - return json.loads(raw_data.text) - - async def filter(self, announce_data, inited=False) -> list[Post]: - announce_list = announce_data['announceList'] - res: list[Post] = [] - for announce in announce_list: - if inited: - self.exists_posts['default'].add(announce['announceId']) - continue - if announce['announceId'] in self.exists_posts['default']: - continue - res.append(await self.parse(announce['webUrl'])) - self.exists_posts['default'].add(announce['announceId']) - if None in res: - res.remove(None) - return res - - async def parse(self, announce_url: str) -> Post: - async with httpx.AsyncClient() as client: - raw_html = await client.get(announce_url) - soup = bs(raw_html, 'html.parser') - pics = [] - if soup.find("div", class_="standerd-container"): - # 图文 - render = Render() - viewport = {'width': 320, 'height': 6400, 'deviceScaleFactor': 3} - pic_data = await render.render(announce_url, viewport=viewport, target='div.main') - pics.append('base64://{}'.format(pic_data)) - elif (pic := soup.find('img', class_='banner-image')): - pics.append(pic['src']) - else: - return None - return Post('arknights', '', announce_url, pics=pics) - - async def fetch_new_post(self, _) -> list[Post]: - try: - data = await self.get_announce_list() - if self.inited['default']: - return await self.filter(data) - else: - await self.filter(data, True) - self.inited['default'] = True - return [] - except httpx.RequestError as err: - logger.warning("network connection error: {}, url: {}".format(type(err), err.request.url)) - return [] class Arknights(PlatformNoTarget): @@ -107,4 +52,4 @@ class Arknights(PlatformNoTarget): pics.append(pic['src']) else: raise CategoryNotSupport() - return Post('arknights', '', announce_url, pics=pics) + return Post('arknights', '', announce_url, pics=pics, show_text=False)