PYRSS-Bot/src/feed/parser.py
2023-12-13 19:31:28 +00:00

50 lines
843 B
Python

import textwrap
from datetime import datetime
from dataclasses import dataclass
import feedparser
from .feed import Feeds
class Parser:
def __init__(self, feed:Feeds):
self.feed_url = feed.value
def get_latest(self):
result = feedparser.parse(self.feed_url)
entry = result.entries[0]
return Article(
title=entry.title,
description=entry.description,
content="", # textwrap.shorten(100, entry.content),
url=entry.link,
thumbnail_url=""
)
def get_source(self):
return Source()
@dataclass
class Article:
title: str
description: str
content: str
url: str
thumbnail_url: str
@dataclass
class Source:
name: str
description: str
url: str
icon_url: str
last_updated: datetime