Parse feed item into Original dateclass

This commit is contained in:
Marty Oehme 2025-06-05 17:36:08 +02:00
parent 79de638981
commit a1ddd7cd11
Signed by: Marty
GPG key ID: 4E535BC19C61886E

View file

@ -3,14 +3,11 @@ from dataclasses import dataclass
from datetime import datetime from datetime import datetime
from uuid import uuid4 from uuid import uuid4
import feedparser import feedparser
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
from groq import Groq from groq import Groq
BEE_FEED = "https://babylonbee.com/feed" BEE_FEED = "https://babylonbee.com/feed"
BEE_FEED_TEST = "test/resources/feed.atom" # NOTE: Switch out when done testing BEE_FEED_TEST = "test/resources/feed.atom" # NOTE: Switch out when done testing
@ -32,10 +29,20 @@ class Improvement: # GoodJoke: Queen
id: str = str(uuid4()) id: str = str(uuid4())
def grab_latest_originals() -> list[Original]:
def grab_latest_stings() -> list[str]: # TODO: Implement skipping any we already have
feed: feedparser.FeedParserDict = feedparser.parse(BEE_FEED_TEST) # noqa: F841 feed: feedparser.FeedParserDict = feedparser.parse(BEE_FEED_TEST) # noqa: F841
return feed.entries results: list[Original] = []
for entry in feed.entries:
o = Original(
"test-id",
title=entry.title,
summary=entry.summary,
link=entry.link,
date=datetime.strptime(entry.published, "%a, %d %b %Y %H:%M:%S %z"),
)
results.append(o)
return results
def improve_with_groq(original: str) -> str: def improve_with_groq(original: str) -> str:
@ -88,11 +95,10 @@ def improve_headline(content: str):
return improve_with_groq(content) return improve_with_groq(content)
def start() -> None: def start() -> None:
from uvicorn import run from uvicorn import run
print(grab_latest_stings()) grab_latest_originals()
# run("prophet.app:app", reload=True) # run("prophet.app:app", reload=True)