From eb7ee3054d8cf9d5eef1aff29f5eb3b4a3a88a58 Mon Sep 17 00:00:00 2001 From: Brett Date: Thu, 3 Jul 2025 01:05:23 -0400 Subject: [PATCH] why --- news/__pycache__/pool.cpython-312.pyc | Bin 16554 -> 18397 bytes news/main.py | 7 +++++++ news/pool.py | 14 ++++++++++++++ 3 files changed, 21 insertions(+) diff --git a/news/__pycache__/pool.cpython-312.pyc b/news/__pycache__/pool.cpython-312.pyc index 497e1139aa58de00f49700be43d237dadb888ab4..774bfad158df47b259f55ddef7aad7de04e94450 100644 GIT binary patch delta 1764 zcmZuxdrVVT7{BMX_ujsNQd(Y?3$@q+@@&CW9>YsnH3$ww6dSZ~QHUUL3vn=VeBXDz zbMF0qxtCu+_g_J}FSS|~g~tuefsR9kle$&|IsttKbEi&8MSo(9$c!+}tQae@Bl2cW zj1xI*6{2Ed<$TR_ONtMZlWl&);X=zcGgg2a{ zCg>{&W;U6DS1IVDatLiQMyOiW9vynmp(+b4Cl`}ro1yWY+Fr2fvfuJ(PMB45T! z}XkSP>vW!Jd|37Dy0cW$&sn`xpr-`E>@f&ns=%Ib|i@ zseIHbXyj7`BrsKsNT7rSrfDSTia1|n`iJ&fmv8<56O&gJrq?tBxgqt~>(?+xv z9U4p`I@=FdGZvKc31*lZmK~tsJxe2EpwGHp$xd+Crx7{WvmTHF`-%_?>DD^u-Oy-_FDL z<|Iz?d$&;2SmmzDUF%grnJqbSb=ziDL{lpe{ANQ8 zLSC5Nke(UcCHeY0428Zzv+4bt=YM$!=i9R!YH07X`Ta)Dc^0_9l_ zMmkRXN3w$G7G!6)t_xH03T>ES`Pi_AieGp3U??tgQOg=^qgCP9i=Skp9bPo=-GA5H zHS6sP?d=YA_k?=;mnf%j<;6`~;{g)Iw!Z zygBDT4I_PvHi}3Deky9AeP?h{^OINK=O}=eic)Ze0{GRjO}*NDJN!|U22IXtd=-m& zjS%27XF56uKRBK2W85?UWk@RafTuVGhKu83lV=slxOb^>e^PR#KCB8JDt4mu|IvV5 zw&sg=9B!33QC@JV7YU$a4ZXT=e+$#Kf;AR>g?YcEn1tjOXvMq*uU;o>KIQd0_tA3l>DN z53K98fc4&f$iW$}-)yTM$Lmf9Q0aUR)z$9-?b$je=SXlun$g z1Im>@7Q7Ywc{8{&7Sz?RScvRx*dbQ{g1n8p%@8$K9h5yx%3&co zL<;b8K*aaK19*0~4dQ2M0*0Zty-0grJ0 z$Wid1w{jXGbeYqCT`>o*hXQa1Qz03K(NR_9T#~`d7GxWNWgS^p5$nz#!|tj$H?B{g Y!0%NFc#iGWEjjfJxRxj#)y*XP4F@g)Pyhe` diff --git a/news/main.py b/news/main.py index b190248..8740e1d 100644 --- a/news/main.py +++ b/news/main.py @@ -196,6 +196,13 @@ async def handle_article_url(message: discord.Message, url: str) -> None: try: title, processed_html = await article_repository.get_article(url) + if await article_repository.has_paragraphs(url): + await message.channel.send("This article has already been processed.") + LOGGER.info(f"Article {url} already processed") + return + + LOGGER.info(f"Article {url} has not been processed. Beginning now!") + summary_bot = ChatBot(summary_system_prompt) summary_parts = await summary_bot.multi_summary(processed_html, options={ diff --git a/news/pool.py b/news/pool.py index 709b3e1..cd6e93b 100644 --- a/news/pool.py +++ b/news/pool.py @@ -176,6 +176,20 @@ class ArticleRepository: return title, processed_html + async def has_paragraphs(self, url) -> bool: + async with self._lock: + row = self._row_for_url(url) + if not row: + return False + + cur = self._conn.cursor() + row = cur.execute(f"SELECT COUNT(*) FROM summaries WHERE article_id = {row[0]}") + + result = row.fetchone() + if not row.fetchone() or row.fetchone()[0] == 0: + return False + return True + async def set_paragraphs(self, url, paragraphs, summary, summary_ratings, topics, topic_ratings): async with self._lock: article_id = self._row_for_url(url)[0]