Initial project setup
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# backend/news_fetcher.py
|
||||
from datetime import datetime
|
||||
import feedparser
|
||||
|
||||
def fetch_news(rss_url):
|
||||
feed = feedparser.parse(rss_url)
|
||||
articles = []
|
||||
for entry in feed.entries:
|
||||
try:
|
||||
# Try parsing with timezone first
|
||||
pub_date = datetime.strptime(entry.published, "%a, %d %b %Y %H:%M:%S %z")
|
||||
except ValueError:
|
||||
try:
|
||||
# Fallback to GMT format without timezone
|
||||
pub_date = datetime.strptime(entry.published, "%a, %d %b %Y %H:%M:%S %Z")
|
||||
except ValueError:
|
||||
# Final fallback - use current time if parsing fails
|
||||
pub_date = datetime.now()
|
||||
|
||||
articles.append({
|
||||
"title": entry.title,
|
||||
"content": entry.description,
|
||||
"published": pub_date,
|
||||
"source": rss_url
|
||||
})
|
||||
return articles
|
||||
Reference in New Issue
Block a user