Files
live-campus-mcs-p-2027.2/Semaine_08/mediawatch/adapters/outbound/rss_feed_adapter.py
T
gauvainboiche 3315cb2336 feat: Semaine 8
2026-05-11 09:25:19 +02:00

25 lines
795 B
Python

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