Compare commits

..

No commits in common. "434773025b1d3d4a42086f008fdfc796a1d8edde" and "b3542d2e1b2f90aaadee9e7b1508ab02923306e8" have entirely different histories.

3 changed files with 4 additions and 50 deletions

View file

@ -19,7 +19,6 @@ BEE_FEED = "https://babylonbee.com/feed"
BEE_FEED_TEST = "test/resources/feed_short.atom" # NOTE: Switch out when done testing BEE_FEED_TEST = "test/resources/feed_short.atom" # NOTE: Switch out when done testing
REFRESH_PERIOD = 3600 # between fetching articles, in seconds REFRESH_PERIOD = 3600 # between fetching articles, in seconds
NUM_ARTICLES_TO_KEEP = 50
llm: GroqClient = GroqClient() llm: GroqClient = GroqClient()
repo: IImprovementRepo = ImprovementSupaRepo() repo: IImprovementRepo = ImprovementSupaRepo()
@ -108,18 +107,6 @@ def improve_summary(original_title: str, new_title: str, original_summary: str):
@repeat_every(seconds=REFRESH_PERIOD) @repeat_every(seconds=REFRESH_PERIOD)
async def refresh_articles(): async def refresh_articles():
_ = await fetch_update() _ = await fetch_update()
truncate_to(NUM_ARTICLES_TO_KEEP)
def truncate_to(max_num: int = 50):
all = repo.get_all()
if len(all) > max_num:
to_delete = all[max_num:]
to_delete_ids = [a.id for a in to_delete]
try:
_ = repo.remove_all(to_delete_ids)
except ValueError:
print(f"Error deleting articles with IDs: {id}")
@app.get("/update") @app.get("/update")
@ -141,12 +128,11 @@ def start() -> None:
if __name__ == "__main__": if __name__ == "__main__":
# start() # start()
## ADD MANUALLY
# adding = keep_only_new_originals(grab_latest_originals()) # adding = keep_only_new_originals(grab_latest_originals())
# improved = improve_originals(adding) # improved = improve_originals(adding)
# save_new_improvements(improved) # save_new_improvements(improved)
## SHOW ALL # migrate to newer version
improved = repo.get_all() improved = repo.get_all()
for imp in improved: for imp in improved:
imp.original.__post_init__() imp.original.__post_init__()
@ -158,7 +144,4 @@ if __name__ == "__main__":
print(f"Summary: {imp.summary}") print(f"Summary: {imp.summary}")
print("-" * 50) print("-" * 50)
# repo.add_all(improved) repo.add_all(improved)
## DELETE TOO_MANY
# truncate_to(48)

View file

@ -19,11 +19,3 @@ class IImprovementRepo(Protocol):
def get_all(self) -> list[Improvement]: def get_all(self) -> list[Improvement]:
raise NotImplementedError raise NotImplementedError
def remove(self, id: str) -> Improvement:
"""Returns single deleted improvement"""
raise NotImplementedError
def remove_all(self, ids: list[str]) -> list[Improvement]:
"""Returns list of deleted improvements"""
raise NotImplementedError

View file

@ -1,6 +1,7 @@
from datetime import datetime, timezone from datetime import timezone
from typing import override from typing import override
from gotrue import datetime
from supabase import Client from supabase import Client
from prophet.config import SupaConfig from prophet.config import SupaConfig
@ -58,28 +59,6 @@ class ImprovementSupaRepo(IImprovementRepo):
.data .data
] ]
@override
def remove(self, id: str) -> Improvement:
resp = (
self.client.table(self.config.TABLE).delete().eq("uuid", id).execute().data
)
if not resp:
raise ValueError
return self._from_tbl_row(resp[0])
@override
def remove_all(self, ids: list[str]) -> list[Improvement]:
resp = (
self.client.table(self.config.TABLE)
.delete()
.in_("uuid", ids)
.execute()
.data
)
if not resp:
raise ValueError
return [self._from_tbl_row(item) for item in resp]
def _to_tbl_row(self, imp: Improvement) -> dict[str, str | int]: def _to_tbl_row(self, imp: Improvement) -> dict[str, str | int]:
return { return {
"uuid": imp.id, "uuid": imp.id,