import feedparser from datetime import datetime from time import mktime from domain.entities import Article class RssFeedAdapter(): def __init__(self, feed_url: str): self.feed_url = feed_url def fetch_articles(self) -> list[Article]: # On consomme le flux externe feed = feedparser.parse(self.feed_url) articles = [] for entry in feed.entries: # On convertit le format spécifique RSS vers notre Entité published = datetime.fromtimestamp(mktime(entry.published_parsed)) #type: ignore articles.append(Article( title=entry.title, url=entry.link, published_at=published, source=feed.feed.title )) return articles