diff --git a/prophet/app.py b/prophet/app.py index 9ec67f0..b8d568d 100644 --- a/prophet/app.py +++ b/prophet/app.py @@ -19,7 +19,6 @@ BEE_FEED = "https://babylonbee.com/feed" BEE_FEED_TEST = "test/resources/feed_short.atom" # NOTE: Switch out when done testing REFRESH_PERIOD = 3600 # between fetching articles, in seconds -NUM_ARTICLES_TO_KEEP = 50 llm: GroqClient = GroqClient() repo: IImprovementRepo = ImprovementSupaRepo() @@ -108,18 +107,6 @@ def improve_summary(original_title: str, new_title: str, original_summary: str): @repeat_every(seconds=REFRESH_PERIOD) async def refresh_articles(): _ = 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") @@ -141,12 +128,11 @@ def start() -> None: if __name__ == "__main__": # start() - ## ADD MANUALLY # adding = keep_only_new_originals(grab_latest_originals()) # improved = improve_originals(adding) # save_new_improvements(improved) - ## SHOW ALL + # migrate to newer version improved = repo.get_all() for imp in improved: imp.original.__post_init__() @@ -158,7 +144,4 @@ if __name__ == "__main__": print(f"Summary: {imp.summary}") print("-" * 50) - # repo.add_all(improved) - - ## DELETE TOO_MANY - # truncate_to(48) + repo.add_all(improved) diff --git a/prophet/domain/improvement_repo.py b/prophet/domain/improvement_repo.py index 14b750c..7081e34 100644 --- a/prophet/domain/improvement_repo.py +++ b/prophet/domain/improvement_repo.py @@ -19,11 +19,3 @@ class IImprovementRepo(Protocol): def get_all(self) -> list[Improvement]: 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 diff --git a/prophet/infra/improvement_supa_repo.py b/prophet/infra/improvement_supa_repo.py index 18f691e..1292e9a 100644 --- a/prophet/infra/improvement_supa_repo.py +++ b/prophet/infra/improvement_supa_repo.py @@ -1,6 +1,7 @@ -from datetime import datetime, timezone +from datetime import timezone from typing import override +from gotrue import datetime from supabase import Client from prophet.config import SupaConfig @@ -58,28 +59,6 @@ class ImprovementSupaRepo(IImprovementRepo): .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]: return { "uuid": imp.id,