This commit is contained in:
felinae98 2021-06-08 17:33:49 +08:00
parent c2bdc82fce
commit 5bde352d7b
No known key found for this signature in database
GPG Key ID: 00C8B010587FF610
2 changed files with 6 additions and 3 deletions

View File

@ -36,10 +36,13 @@ class Rss(Platform):
async with httpx.AsyncClient() as client:
res = await client.get(target, timeout=10.0)
feed = feedparser.parse(res)
entries = feed.entries
for entry in entries:
entry['_target_name'] = feed.feed.title
return feed.entries
async def parse(self, raw_post: RawPost) -> Post:
soup = bs(raw_post.description, 'html.parser')
text = soup.text
pics = list(map(lambda x: x.attrs['src'], soup('img')))
return Post('rss', text=text, url=raw_post.link, pics=pics)
return Post('rss', text=text, url=raw_post.link, pics=pics, target_name=raw_post['_target_name'])

View File

@ -102,7 +102,7 @@ class Post:
if self.target_name:
text += ' {}'.format(self.target_name)
if self.text:
text += ' \n{}'.format(self.text)
text += ' \n{}'.format(self.text if len(self.text) < 500 else self.text[:500] + '...')
if self._use_pic():
msgs.append(await parse_text(text))
if not self.target_type == 'rss' and self.url:
@ -122,6 +122,6 @@ class Post:
self.target_type,
self.target_name,
self.text,
self.url,
self.text if len(self.text) < 500 else self.text[:500] + '...',
', '.join(map(lambda x: 'b64img' if x.startswith('base64') else x, self.pics))
)