From acd44a126984ce3c282c667dd606c34e683659fb Mon Sep 17 00:00:00 2001 From: felinae98 <731499577@qq.com> Date: Tue, 16 Feb 2021 21:28:30 +0800 Subject: [PATCH] update PlatformNoTarget --- src/plugins/hk_reporter/platform/platform.py | 40 +++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/plugins/hk_reporter/platform/platform.py b/src/plugins/hk_reporter/platform/platform.py index 3c023b6..27b0cf0 100644 --- a/src/plugins/hk_reporter/platform/platform.py +++ b/src/plugins/hk_reporter/platform/platform.py @@ -260,22 +260,26 @@ class PlatformNoTarget(PlatformProto): return res async def fetch_new_post(self, users: list[User]) -> list[tuple[User, list[Post]]]: - config = Config() - post_list = await self.get_sub_list() - new_posts = await self.filter_common(post_list) - res: list[tuple[User, list[Post]]] = [] - if not new_posts: + try: + config = Config() + post_list = await self.get_sub_list() + new_posts = await self.filter_common(post_list) + res: list[tuple[User, list[Post]]] = [] + if not new_posts: + return [] + else: + for post in new_posts: + logger.info('fetch new post from {}: {}'.format(self.platform_name, self.get_id(post))) + for user in users: + required_tags = config.get_sub_tags(self.platform_name, 'default', user.user_type, user.user) if self.enable_tag else [] + cats = config.get_sub_category(self.platform_name, 'default', user.user_type, user.user) + user_raw_post = await self.filter_user_custom(new_posts, cats, required_tags) + user_post: list[Post] = [] + for raw_post in user_raw_post: + user_post.append(await self._parse_with_cache(raw_post)) + res.append((user, user_post)) + self.cache = {} + return res + except httpx.RequestError as err: + logger.warning("network connection error: {}, url: {}".format(type(err), err.request.url)) return [] - else: - for post in new_posts: - logger.info('fetch new post from {}: {}'.format(self.platform_name, self.get_id(post))) - for user in users: - required_tags = config.get_sub_tags(self.platform_name, 'default', user.user_type, user.user) if self.enable_tag else [] - cats = config.get_sub_category(self.platform_name, 'default', user.user_type, user.user) - user_raw_post = await self.filter_user_custom(new_posts, cats, required_tags) - user_post: list[Post] = [] - for raw_post in user_raw_post: - user_post.append(await self._parse_with_cache(raw_post)) - res.append((user, user_post)) - self.cache = {} - return res