From 88005c1da1856f0cbe5cb340f63dd0cf4335b3db Mon Sep 17 00:00:00 2001 From: Death916 Date: Sun, 9 Feb 2025 00:34:01 -0800 Subject: [PATCH] refactor and adding alarm sound --- deathclock/__pycache__/news.cpython-311.pyc | Bin 2823 -> 4980 bytes .../__pycache__/weather.cpython-311.pyc | Bin 2495 -> 2495 bytes deathclock/app.py | 33 +++++-- deathclock/news.py | 93 ++++++++++++------ 4 files changed, 88 insertions(+), 38 deletions(-) diff --git a/deathclock/__pycache__/news.cpython-311.pyc b/deathclock/__pycache__/news.cpython-311.pyc index 38dcdd0f83307a679aefcf719df0c50760addad7..bf3d0ad9fd61ef88e0c5762225d87e9b2c611584 100644 GIT binary patch literal 4980 zcmZ3^%ge>Uz`$^wby@lcE(V6jAPx+(KpCI?7#J9)Go&!2Fy=5sfoP^2#$2W-rd;MI zW=0U7F^46J1uV}R#hSw0!VtyA#Nf`5!qUQ!!n%x!fnhZh)GUT5_7uio22Hk?AOSy3 zrdymj`N@enC7HRYw>XMRiqb%=WRN5bvokO-Ff%YPe2xG+ql6JA!N5=g5{GhA7)w~8 zOa=yqWef}qtKnQ!CoE%RU|0<|1>}KX22CcvDt=Wb1=SQC1yxTgRbK_w0!`*ytOZ4x zc_l@lkSGG#wUXg8$k1OF`WgATsro6Yi6t49hGzQ7`6;RT1(hWk`FRk*?UlxIao{fQlp;(oHfuVunE(>R`#sy)OrI`z}mtKA9hg5pOMyctl_82Tg&~S5g|USpiaCX;g&~S1g*li(ljRnRUut=A zGE6tf*$!vX=-V)YY)3aG-`pky;IV7AH(a3THMrK^94)xPS}ff)s9Km9rV#BA__M zj6)P%Xg*F6%?4KsMNEtgdHNF=d!jJ%ivn7H5d+zhA`Z?qXr_U39VEw0VC<=fun>8s zhNV~##Xl10zRhF^W+32NP+h}NB#I-3SW-mM!kVRq#f2eOsFtgStA-&9ULMtOrSM3? z1Kx&#fuTnjtyGdskwP^KR4SpkUmD&0$Tlnxg&U8=KrJa<7-HRPxoVgeh#@I~GgD-0 zxKd;huAI$~B3HweB99^>j_Q-y3@Hk8*)iP3v_KqgED{6NHH-{B9-QFPHHG-{RTCq< z$e^VcMQ}>NC|_Y^YaRziIzfu3U^z5e2|$;m7(NzTtLu&Yu8SFq`+CEz++&j#F3E4I@^D3Jg)UKGHU?ga@G2wI^s zLu9_xEUB3?b7UYQ7bHx;m2H)zYf({tkwQ^wVoGLSx&qw0Rti<(?x`guAVE-5K_NA- zq$o4BSWi!{O2jR-Bsl{llU9_U3)W+$aEqMi!ryzIRE^1NG|1*J(jnZ+5YDYqDIu@{%-<|Y4g0d7(jfhvI_0g$&?@(WV)ZgIL+B&QaX zWaj4;fts7QxIiIakXTflT6BvQOy6S9NGwh)DJd$F0cm50M!+q$#Dap67y2>b8oQ~C*~I9q~2oA&CI*SoRgY&i!HUHBsDMP7F$_jPHAfKEmn|o zQ*W`R<&+j@XmS^U(()}U1>D-^5bEUV;pyPHAt2Pjiq>ZQ zz{1KYc2`hzLiPgVi-PJ`1l2z6w$gOqBVi>sj$=x z!xJq8DMwUAi_oy9Ezi8xj#mMV| zQse@~C2C7_7U*0Eh`ej%ctGU@_eHCaD^?*FG-6h;tl?Y1cOfd~uCdh)lLL|$jlHiJ zdtXovUSP7sW`WIxz~B#@teRpU7+5vMJ~FV1ihltS9}ol|gNVWh24+DI#=G*Wb81(_ z>^0s|bkz7j%|+*sE6yPotwXO^hhCHqyCNSp!Q+OA{B;qvOCo9uDlUo`ToEz2AYuUa zvD;GP1r-Zzm)KsAa=Reqc7O#!Uleh_BI15Q#QmwT*o5kf!pc{Kl@}CU64tyRta(F3 za)RqeW(E!`lSEq#SsdPdSEZiNfn3U{Rx z=IE~A-Vk(A%HoQYMThqTQH2i-jGQK5qQmuuo^gjukN*tU1?qGBF7jw!;L-lT!p><5 z$`n}(lrIXZT@h6Kz`(*Qw?Yx@Wc`Z*23G_OE(jRhkX4)$e_hu2lC1GXS<@@Brl6!E z2PP)C-VhO;?mo%=f=t{3)&+T26ihG3#9fey+abE6Vvjt8eZuuZP~;gu2 zK)_LyVFRxtC-Yt&M^T1@oGgyK><4+7L2Lm=5L*z;7UgoZWj-h`>}bJ!(1;PlwqSL% zWj-YCDC@4vblB9{#9f!^xGtB6IO}n9Q4b;36GE&W;;bjN1$^YoLJv z0zWXZu&RDwfD=59jI8n>7_gHNGeO2_aujKU>HrqdKtK_wcLy1QF$7r;>aIZQIgnCt zy9S~YWdAP?8;JYuirg6(7(mV8;x+~bh7Zh)jEpxJ1TVnQ4F;79*w76I-Ucv)Gd{2| dGJ?Gyb#?#% delta 1668 zcmeyO)-J}koR^o2fq{V`C3SInDBDCn2}ZYx>T2@LEeuhtObqS}DJ(4vDXhzw7#LPF zfz*L;6x+rUK1N2C$<2(_Tp&?q1_p-DN|QO56m?S=f*CZK{E9%rnoPI2;`36=i{n!= zlS^(1BG~acsd?!o8I$KR>9BDyFfbI0Prkq;qIrQs?gEEg5lAGN5o8k-g9N~KoMK{N zn9fkbIPtv1WHV-^$x+N1Mm3Bs3=>u z5ocz};+XhWqP~VD3uHQ2aSB5UYb%o^m<=La7-EmtveqzUfjk2eU`S!j2Af;NUBi$C zH!+!skpYB*8EROv;BLqQhbu^14Qm!Rhz8*rRuu7i9*`gir?AaoK{gawp$!8ALk&X( zBa%bdt9Th0l9}S+PAg#tnF7Hn94VZrQD(|e%Tyu_kp+=3o7g~{1$>haa*9lTz`>`1 z8dNDJZ8k#+_gp4aO^ggZ(wq#Fr!eb@^_-Z%*ux343uIL= zgC@`9HqM>(!k}1JU|?WqV7MS+06_~l8TaB zjOCec{{R2~i;+uHpa>K%^+kLP3=Bp53=9mnSn>-}^KNmarKYA7Bo-B?7Tsb6)3?}) z67y2>b8oR1XOyO;<)q$XPt7YS%1kZ3#R5`%i?t-PBq#M2C)6>iDMhki^KvqaOK!1b zr&bo0~CRiPxGjf^?^a0)3E*{i0p8=Dz0*~qk4hBi7Ih+fW7Z@#2p2PQnL4el~OiW<8AuN7HSaU_tC1L#w z!umI)<>%O65Ya+LAJ`b=73QSP$+@ATvBd9&g31!E8}iC?YChC+vg!+cU|`i3n!qxJ ze*w!9u8RWNA9xr9MK6F|vO@8qfHs8rm4iV{YKGQ=tzc`~K5Bp(DM=n= 30: + break + + except Exception as e: + print(f"Error processing feed {feed}: {e}") + continue + + if not all_entries: + print("No entries collected") + return {} - - for post in d.entries[:20]: # Limit to 20 entries per feed - if self._news_dict_length >= 20: # Max 20 total entries - return self._news_dict - - self._news_dict[post.title] = { - 'source': d.feed.title, - 'publish_date': post.published, - 'headline': post.title, - 'summary': post.summary - } - self._news_dict_length += 1 - # Store last 20 news items in text file - - - with open("news.txt", "w") as f: - for headline in list(self._news_dict.keys())[-20:]: - f.write(f"{headline}\n") - - + if len(all_entries) > 30: + all_entries = random.sample(all_entries, 30) + + for entry in all_entries: + self._news_dict[entry['title']] = entry + + try: + with open("news.txt", "w") as f: + print("Writing news to file...") + for entry in self._news_dict.values(): + f.write(f"[{entry['publish_date']}] {entry['source']}: {entry['title']}\n") + f.flush() + except Exception as e: + print(f"Error writing to news.txt: {e}") + return self._news_dict