From b436ffa336570c74ce89bbc88bc110dd813b0d56 Mon Sep 17 00:00:00 2001 From: TheJoeCoder <joe@radialbog9.uk> Date: Thu, 10 Oct 2024 20:30:00 +0100 Subject: [PATCH] It was a weather balloon. --- README.md | 3 + config.py | 10 ++- icons/weather/01d@2x.png | Bin 0 -> 948 bytes icons/weather/01n@2x.png | Bin 0 -> 945 bytes icons/weather/02d@2x.png | Bin 0 -> 1628 bytes icons/weather/02n@2x.png | Bin 0 -> 1666 bytes icons/weather/03d@2x.png | Bin 0 -> 837 bytes icons/weather/03n@2x.png | Bin 0 -> 837 bytes icons/weather/04d@2x.png | Bin 0 -> 1869 bytes icons/weather/04n@2x.png | Bin 0 -> 1869 bytes icons/weather/09d@2x.png | Bin 0 -> 2697 bytes icons/weather/09n@2x.png | Bin 0 -> 2697 bytes icons/weather/10d@2x.png | Bin 0 -> 2584 bytes icons/weather/10n@2x.png | Bin 0 -> 2584 bytes icons/weather/11d@2x.png | Bin 0 -> 2844 bytes icons/weather/11n@2x.png | Bin 0 -> 2844 bytes icons/weather/13d@2x.png | Bin 0 -> 1703 bytes icons/weather/13n@2x.png | Bin 0 -> 1703 bytes icons/weather/50d@2x.png | Bin 0 -> 650 bytes icons/weather/50n@2x.png | Bin 0 -> 650 bytes icons/weather/icons8-cloud-96.png | Bin 0 -> 2307 bytes icons/weather/icons8-cloud-lightning-96.png | Bin 0 -> 2665 bytes icons/weather/icons8-clouds-96.png | Bin 0 -> 2291 bytes icons/weather/icons8-heavy-rain-96.png | Bin 0 -> 2293 bytes icons/weather/icons8-light-rain-96.png | Bin 0 -> 2273 bytes icons/weather/icons8-light-snow-96.png | Bin 0 -> 2173 bytes icons/weather/icons8-night-96.png | Bin 0 -> 4202 bytes icons/weather/icons8-night-wind-96.png | Bin 0 -> 5091 bytes icons/weather/icons8-partly-cloudy-day-96.png | Bin 0 -> 2464 bytes icons/weather/icons8-rain-96.png | Bin 0 -> 2144 bytes icons/weather/icons8-rain-cloud-96.png | Bin 0 -> 2552 bytes icons/weather/icons8-snow-96.png | Bin 0 -> 2434 bytes icons/weather/icons8-storm-96.png | Bin 0 -> 2598 bytes .../icons8-storm-with-heavy-rain-96.png | Bin 0 -> 2734 bytes icons/weather/icons8-thermometer-96.png | Bin 0 -> 1247 bytes main.py | 2 + module_defaults.json | 57 +++++++++++++ requirements.txt | 3 +- screenwidgets.py | 79 +++++++++++++++++- utils/weather.py | 40 +++++++++ 40 files changed, 190 insertions(+), 4 deletions(-) create mode 100644 icons/weather/01d@2x.png create mode 100644 icons/weather/01n@2x.png create mode 100644 icons/weather/02d@2x.png create mode 100644 icons/weather/02n@2x.png create mode 100644 icons/weather/03d@2x.png create mode 100644 icons/weather/03n@2x.png create mode 100644 icons/weather/04d@2x.png create mode 100644 icons/weather/04n@2x.png create mode 100644 icons/weather/09d@2x.png create mode 100644 icons/weather/09n@2x.png create mode 100644 icons/weather/10d@2x.png create mode 100644 icons/weather/10n@2x.png create mode 100644 icons/weather/11d@2x.png create mode 100644 icons/weather/11n@2x.png create mode 100644 icons/weather/13d@2x.png create mode 100644 icons/weather/13n@2x.png create mode 100644 icons/weather/50d@2x.png create mode 100644 icons/weather/50n@2x.png create mode 100644 icons/weather/icons8-cloud-96.png create mode 100644 icons/weather/icons8-cloud-lightning-96.png create mode 100644 icons/weather/icons8-clouds-96.png create mode 100644 icons/weather/icons8-heavy-rain-96.png create mode 100644 icons/weather/icons8-light-rain-96.png create mode 100644 icons/weather/icons8-light-snow-96.png create mode 100644 icons/weather/icons8-night-96.png create mode 100644 icons/weather/icons8-night-wind-96.png create mode 100644 icons/weather/icons8-partly-cloudy-day-96.png create mode 100644 icons/weather/icons8-rain-96.png create mode 100644 icons/weather/icons8-rain-cloud-96.png create mode 100644 icons/weather/icons8-snow-96.png create mode 100644 icons/weather/icons8-storm-96.png create mode 100644 icons/weather/icons8-storm-with-heavy-rain-96.png create mode 100644 icons/weather/icons8-thermometer-96.png create mode 100644 utils/weather.py diff --git a/README.md b/README.md index bf1bb5b..6f53ccd 100644 --- a/README.md +++ b/README.md @@ -58,3 +58,6 @@ It's designed to be: and the modules can be easily created or modified. - Easily extensible, with a simple API for creating new modules. The clock is also designed to be easily configurable, with a simple configuration file that can be edited to change the appearance of the clock. + +## Attribution +Weather Icons by [Icons8](https://icons8.com/) diff --git a/config.py b/config.py index c171108..7167164 100644 --- a/config.py +++ b/config.py @@ -15,7 +15,12 @@ default_hw_config = { "flask_port": 5000, "show_fps": False, "fps_max": 60, - "main_update_frequency": 500 + "main_update_frequency": 500, + "owm_api_key": "YOUR_API_KEY", + "weather_lat": 0.0, + "weather_long": 0.0, + "weather_update_frequency": 600, + "weather_units": "metric" } hw_config = default_hw_config.copy() @@ -49,7 +54,8 @@ PROP_AVAILABLE_WIDGETS = [ "IPShowWidget", "TestWidget", "AnalogClockWidget", - "DigitalClockWidget" + "DigitalClockWidget", + "WeatherWidget", ] PROP_AVAILABLE_PATTERNS = [ diff --git a/icons/weather/01d@2x.png b/icons/weather/01d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ed42ad9e01a8ac5c6a724cce862c79efe64c5113 GIT binary patch literal 948 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_vCt36#DLn`LHy%V{@H&EvI z$Mu?>CrsNG9pP@}k$l&z`I)(OiOM1yP1h;xM`xScXaw!jpEo6C+Jwq8K5{<co>LT6 zMAqu;I`Vc$`uhL%Z~xep?%Mt?_y0A^{l(vQd~<Zc1V?;~S1*`;I$dPz3aJHR5?nki zRSdF^@6Te+ZxBD=`@pJzts=&y;Q86#T@gNuqtyI0-0BmQ4CH1oZCRVJGFbXg9TUg; zXPFP2&iR{sclyQfx{)<hFFmJ*<#^-P13Q_Hh3|M~$;b7A=?Wu1m&W7r#|@hg7$#I4 zJiRWeuk{S`yCX_Ld5;ghdatxWEAg29>9rGb53Jkp*W}C{jyb1Nzs?O-Y;RcVcXR8< z;G4HK|1X!}%9J$UGI{Rti~8#h#dx1wIN>nww}w5XtmmrN?c2kBQ_g&y<x9R8rl`uE zlba_*9uPYI=NJ#0Sp`eA=q0%uFQ>$=yehXkXuZ?6<3UB~|CW8!SR!n2U2(hSA-U@% zrycs8wppcwC9_{Rq;+Q3gb#hQljlUP%{!p7+TgX*vak>Kmb21K)m}R-lXxzgy6@`2 zMX8E!*O*UWUDdh#?c~imDLI|%0{(TLTz-4ggo$mDnmijhHtM7_B!+Rt>Nx3ezs#I5 z)k#%YdsSMb2m9eQB2m#T5n`XN8m!);!+o-}%{xpde#v*$3R|hqN0p9jnvmWWskvt} z$3~qe^Af|j*6TXyaPQ2SG4+sax4>zqKFPGD1y?}Io)><rl&tL%{yAy$J<+?-mz>I& z^L3lna2x)-p}yh1)`?vcvI}>m&8%VLi|D=n_(kPL=QPtpZ@Jd5Ib_4NGj>tz1O5YQ zrybUR_U@ij^#5wnYlrntd5qa}Hfe8FKX=mTX(d}(@}BGZ?hmiMN|k&3Nk=6{UXuBW zb>G8$x1-FF#g;LPC1m%7D>N7W5qS4x*K5&v&Wiqxf(I7!920uhEBjH#K`;EH+_6Z_ z@VTE37amhM&3s`0$(Nh5ZakNl+`sc+Q0$)MS8eYv|JU38`p!d>qq{7;KX^S_^Q&Uc zMuCb+7ORtX`q^-lKjULgWB$$^S7wpDTj&LMj%LNp(9^Z+-oE=WgVU$OzS=a=^8KU6 zxEl%bXL8oR6HlG_XOFsFn8}Y>%M=T%(r1L;SNj+LBX3H7Vf7cIxH4PG^<inzO&u8E e#DB&gY|C9r%v@B~X)rJ_FnGH9xvX<aXaWEfue_)L literal 0 HcmV?d00001 diff --git a/icons/weather/01n@2x.png b/icons/weather/01n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..85efa16b13f4a9555e895d290ff14721a9ff1dff GIT binary patch literal 945 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_vCD?D8sLn`LHy%X8d7btW5 z<9glB6A{jVkJ_B3<%n;SxDznNMd{SkAeWs1cXm$ZPSq@Y=;b-h(dnD1_0A2`T_T;F zE}mSdc+C3V^FRNepL`#jzu4#e`!j!@)ov@ECoYHu82hei%F13YvUR0Yf{B5|3;q)3 zTgU%rbM0Z9$9%nU^#RQXiGl}9OMiFY@M)f<?yun%pTK0GSHitzUBc?gumAp**dT7f zIp_3G_Op8@#2t`I$eVgwQaJu#V1j7DvWAbM>oWVAnXDMC8>(5Sd|bWpK;{DugDnqo z!*!24r7>=Au<YzFO#EIh7ctLZ@x>zT6yXiRFEVEA<g=J~`knQ1r&kTGem56C-o0sg z@IQV_kxMpm8S0k(i~aAk?wmHsS&{wqT*k`RJafL@sjU>>WGNR@d`WZ%!<G*clhYM1 zH@5cu<dx)D^OfV9))L(fXEk>RY1@=7jcd*6T>9kPpZ;TuC-5EcX}?o1cy7nCD7Gq* zO&1k6OGP)Pg(Y5V{i1Vm_v77q2V7PgymnFx|6psWm1Fcge+~Ca({tLVa#nY{o_4ww zA+Nw4BAkC)Jw5Wo4570D|N2huzP)L}!?s9Go=qGZb(YLe4C9)s<D|p=GH=FICsl6k zRcVnP)`!=KL`Ahkh<!S0uzHIQ_sP;$?=YQu&-Y#*erKFW?-n@iG*2pR>4$4dM>b8c zZj03112XH$qQo$+?I5!(lV(gkln7RK^y>4}FNS(gywCj#De?E@zR9|0BgZDaBTsVY zAFx}k@Y-qJk*Bj#KXH2ee-ZMe@avufikqb#7Pd|gOO$K9qjOR7Lv_O5)CJf7F8%4Z zvv=zes|%|qNFVT8{>JNVU-l-S%6pBm;`6_r4y@Qxwek248*a|e%8MJ0_a*<BEcnss zS`1&Yh;pO2WY6Q>A5^aAuKyszRmsG|ESF+1ZA0Fh3C|gdW**%wAHFoE>=gfXNoE~= zhW{$dGp`n$v$v@$YF_&GW9Q23efIy%cb+Y7zb&%*vDQKF&dqYiU-wiVSbQW>^mOS% z#|ooz4g=;L(I2)Qj=i1gke}du@b<c>ciFk+N3WYC)cm>iSbp1Qv$z+n%-<T%oO@Ll zH0|j5-H)>~_x5K>iA*nV3;nwG(f8K#Za)S3-Sr=BdHvBMdS))C5+?Z1{y>}0ti&wq TR;>^N0|SGntDnm{r-UW|kHEEB literal 0 HcmV?d00001 diff --git a/icons/weather/02d@2x.png b/icons/weather/02d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fabd9c3b31a1032119075253795e9b7ed4116bcd GIT binary patch literal 1628 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 literal 0 HcmV?d00001 diff --git a/icons/weather/02n@2x.png b/icons/weather/02n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..288a40ea0fa34005bd83cce484c6639ac53f6baa GIT binary patch literal 1666 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 literal 0 HcmV?d00001 diff --git a/icons/weather/03d@2x.png b/icons/weather/03d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ef2e9f7f955fe1b8da7f30e9ae15b2f707387c48 GIT binary patch literal 837 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_vCc|2VlLn`LHz3t!On<#Po z<9i9E#itciCjPmd;U&VQJ*zY4jYk*n%^%TIA~aNeB05+#|Ci}#NQ;?xBriY0q`J_< zNcz}`7i-I3t+Kvry#2Z5bKA$?SKd4`_xGOjmiw)r?|E+fTnQIgdhN-@8vpa<uO|sN z_#Vhg(7V9&g;BmS{Xpr1onIG3hG;$ZeZ5rfM9>3)4PqJVK5y4=xO_l$^})?Q<}+C` z$mBn$^>6%kq0LqJYXrN|p~are+ogGwBiLH}k33qkO=GbL^G?n+<|~T%XXFQ{hp%Ma zBzz+wWVPsy#1L(BP1Z|nbBxzX@<mtoX7BRSoM5o_YXQrQm^aH(r+X<RdhNcrvTO!h zsl`>Z>0S!28)o)>oqpv<Y;o7*Ss_wU?_%l`xb|@DU@AGj`p@?R&JUOjj_+*uaa(qQ z#o+eNI#vrFnYABpl_ZF6ki8)@J&|j&m%`&YueTqaU$yQi=Yh!Qb!<~lDZb8TvgNU0 zUZa!sL5X>0Na>w_VF~hEbF{M_>=73~yy>T20=I#Fox-oi_yZaJaZ+D|XRy|+`~Gc{ zo?aiT-!bRQh6#>WZ}@h$3ie2*ta_u@Ke=kh&XWBttJmwg^1PDu;CL)*aJ5o~|9zLl z72^p7s&_&!8Q2|(KJxIMm;MK%dEs{|**399%sB35F@wXV^SRKYyT_vsxIWnU{6O61 zHGv1B6WZMWHpQ-+CpJBG+Sbw;ZH{-g>8-DQF6yy6_-@D=2EU3gk3>Bbi+{{{+pS(3 z9M`yI*$#HuH{11QzDjmTotVm6>9L3DXV9v<w{~b=W8KU2vTW6Csn36(i=K#GzH8;n z&F_wDPgs3GdigEQpDA~{pL_1Tys=D6F7o?B$rF_i8k7Gn`pf1Q`Tc?I+qW87lGg0( zjn}Uou3*0;{hp6+`~N9^>z#|_#M>07n10-;@%jC(r*GId+<wee>u`_XvSoId^`qvi zmsh<r|5E)WQK2T`|B>ZM?~dpT{{4Jb=k?QaLF{1SLWX}#rxs`YO61y^#=yY9;OXk; Jvd$@?2>@|6eJlU~ literal 0 HcmV?d00001 diff --git a/icons/weather/03n@2x.png b/icons/weather/03n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ef2e9f7f955fe1b8da7f30e9ae15b2f707387c48 GIT binary patch literal 837 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_vCc|2VlLn`LHz3t!On<#Po z<9i9E#itciCjPmd;U&VQJ*zY4jYk*n%^%TIA~aNeB05+#|Ci}#NQ;?xBriY0q`J_< zNcz}`7i-I3t+Kvry#2Z5bKA$?SKd4`_xGOjmiw)r?|E+fTnQIgdhN-@8vpa<uO|sN z_#Vhg(7V9&g;BmS{Xpr1onIG3hG;$ZeZ5rfM9>3)4PqJVK5y4=xO_l$^})?Q<}+C` z$mBn$^>6%kq0LqJYXrN|p~are+ogGwBiLH}k33qkO=GbL^G?n+<|~T%XXFQ{hp%Ma zBzz+wWVPsy#1L(BP1Z|nbBxzX@<mtoX7BRSoM5o_YXQrQm^aH(r+X<RdhNcrvTO!h zsl`>Z>0S!28)o)>oqpv<Y;o7*Ss_wU?_%l`xb|@DU@AGj`p@?R&JUOjj_+*uaa(qQ z#o+eNI#vrFnYABpl_ZF6ki8)@J&|j&m%`&YueTqaU$yQi=Yh!Qb!<~lDZb8TvgNU0 zUZa!sL5X>0Na>w_VF~hEbF{M_>=73~yy>T20=I#Fox-oi_yZaJaZ+D|XRy|+`~Gc{ zo?aiT-!bRQh6#>WZ}@h$3ie2*ta_u@Ke=kh&XWBttJmwg^1PDu;CL)*aJ5o~|9zLl z72^p7s&_&!8Q2|(KJxIMm;MK%dEs{|**399%sB35F@wXV^SRKYyT_vsxIWnU{6O61 zHGv1B6WZMWHpQ-+CpJBG+Sbw;ZH{-g>8-DQF6yy6_-@D=2EU3gk3>Bbi+{{{+pS(3 z9M`yI*$#HuH{11QzDjmTotVm6>9L3DXV9v<w{~b=W8KU2vTW6Csn36(i=K#GzH8;n z&F_wDPgs3GdigEQpDA~{pL_1Tys=D6F7o?B$rF_i8k7Gn`pf1Q`Tc?I+qW87lGg0( zjn}Uou3*0;{hp6+`~N9^>z#|_#M>07n10-;@%jC(r*GId+<wee>u`_XvSoId^`qvi zmsh<r|5E)WQK2T`|B>ZM?~dpT{{4Jb=k?QaLF{1SLWX}#rxs`YO61y^#=yY9;OXk; Jvd$@?2>@|6eJlU~ literal 0 HcmV?d00001 diff --git a/icons/weather/04d@2x.png b/icons/weather/04d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9c64ea86b6a93c7fd61543c696956b0657454fe9 GIT binary patch literal 1869 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 literal 0 HcmV?d00001 diff --git a/icons/weather/04n@2x.png b/icons/weather/04n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9c64ea86b6a93c7fd61543c696956b0657454fe9 GIT binary patch literal 1869 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 literal 0 HcmV?d00001 diff --git a/icons/weather/09d@2x.png b/icons/weather/09d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0f14cb61a53463cf6ca803561716b21a41cd3c36 GIT binary patch literal 2697 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 literal 0 HcmV?d00001 diff --git a/icons/weather/09n@2x.png b/icons/weather/09n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0f14cb61a53463cf6ca803561716b21a41cd3c36 GIT binary patch literal 2697 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 literal 0 HcmV?d00001 diff --git a/icons/weather/10d@2x.png b/icons/weather/10d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..62304fded6be1c5cea4a6a353cf336a98bec4c3f GIT binary patch literal 2584 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 ZCo-yUU7_~tDFXuogQu&X%Q~loCIGjA0fPVl literal 0 HcmV?d00001 diff --git a/icons/weather/10n@2x.png b/icons/weather/10n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..b5e5d101266c3a54b4893e8e38e3c0014f3fdfa2 GIT binary patch literal 2584 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 Q3=9kmp00i_>zopr0D(8=H~;_u literal 0 HcmV?d00001 diff --git a/icons/weather/11d@2x.png b/icons/weather/11d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4a885cfa9e79bc113e3d2dc7c7ad7d425e97e1fc GIT binary patch literal 2844 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 literal 0 HcmV?d00001 diff --git a/icons/weather/11n@2x.png b/icons/weather/11n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4a885cfa9e79bc113e3d2dc7c7ad7d425e97e1fc GIT binary patch literal 2844 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 literal 0 HcmV?d00001 diff --git a/icons/weather/13d@2x.png b/icons/weather/13d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7867322e900068a96547ec05d5e1a7b841d4ab64 GIT binary patch literal 1703 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 bf4Dzrsi_x6b#XE<Ffe$!`njxgN@xNA@vA#( literal 0 HcmV?d00001 diff --git a/icons/weather/13n@2x.png b/icons/weather/13n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7867322e900068a96547ec05d5e1a7b841d4ab64 GIT binary patch literal 1703 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_v?@;qG}Ln`LHoz1-=G+Cr! z|03_nnR|>fJSHlg@7$rdM5I#ekn4;+?mSNgA5S$=`y?^__TeiguF9v3uTOCgTG3W* z+a{?}>Ea_ic}HvZznNRpudTWHd|vVSyU*X$M&3U&@ALovk=676+h@Q3AD{g<`>{nI zAvANj?<`pvn;%b9^fqgMSXlFodD@mQO<T8ePkIp^xW)JF^vRF&0^J@gyk<A!+Oi38 z2No_{yIHH8aa-uuy^W`gzUm4_O?J{_v}3emNL%%dE%;yXsqGB$Os5+>Q{QD@+@jVh zv+k5Q)77ARD{gH+@w_0RDeHZF+doyOX`)6F5-VP5pZOks`qxIst+mW|xXu`ETEDs| z|ACG1*3`DOn{Q|)=orME>Sw&pbh(jh!Lbv6*S?x+n0+kdftzMH<K`uQbPCEij|YfE z);jS8K6PAW6FEgdFmFX}$X=(ujt|e{*S%5>`Ps4M>_3Z5t0q{5zT+zi{kp*{Ch&mi zya`*~E;~;>EOKLpPx)kJZmySV<(vL}wlg+r_NnD6h!noQW}>NEvB8GrtM;!wb)4}$ zV{NyzQ&EbeVsT0y|FWDPlgrrSn67C{uAXqf<iVvG-`pElC*5M7RkdWohu!&1&W+}0 zE=QDI3iD8Z;1Fuh_9Jf1@};Y6HBz3>_<Y#u|Dsj@S$a->j9$L-lUC#f=`)ihuPy%D zE#s}UWbK6cjn+xGnuE(Ht=ev0dNwWipSIhw-5S<P6<^FHnH3DAE0(U9sNy2FY)z+w zys$`)bn>L{=L+}5&Uh^LD%rPI+fr%Y1odZ4&q{48HzlR6o#65I;<5D?<}iOT$(8M0 z^vyud_7Q_w>eSZv-$eJTlx|uup=^_z4NnaFpIOd%<{S4tW2)|ayu)#g$=TlrY&fm% zvHoF{nf7>=<Im+x{oRQdH<~!>%-QnYx$VT<n|BP{k{N6DUDWz6Zr#c)r}Jo!i^p%y zo%a1kVa$&kT9@7ZchUQ3NS>FPO>8-n_UA7zf7#rhK4nXC<kwBd1vk3MY-ttB;#d1% z|0%ZMR$9kVk&S^heUV;i%ic7*v}k6le3)|OJ!6^RdRvQ@bVhc~pYmR|FP3>kD<0hV zTjqwRkDv6#t1Y#?i3i+Q<xUD>Q!4ho(Hfe&c#4tIwUZlN<{ijON@U%yvGrvakH!+m ze-oT;W;}W16Z5(~r*GoMHIvlUOE)E?%JR>Ve7xl7#+3)`BZ6NXy66Av;<}mF{ikdZ zE!usgziH;L#Vt<f7`_?yNgJ&Vl|IUAzHqugoMi4f>EvrGJ05K2VUU~9yY}d%{z$`3 zsmgCPS9?t@XV9Cb{6YFdlg3LI&gBtRr)C-Xiap+8;G=IS@XRyp)XPoDH!R)E3PLtH z=g4JhtK8}R{_MxP#Vr5c%yW}b=AIy_<!&b?Zaa&`qxzJT{_f_3QBiu*!P1}R1nY}k z{G*ogO2y1n|NPcNRbMu$-142Sxkl@}rK&1-^{cO0=XYld_eC$Bang8+U9^)@KBMfE zI~-HhL>4i)dv)v!K4Yq#(p#x}@Z*+_H7w${PhSyz_eQq(giq+H4vtgRp;z~JM^3pv zxx+y(>**Z5&b}2Mn-)x9d=!5tt*QFj@fFJRoX*^GU3M>HUA$`ItiYpuN}89#JT|PE z*Z<Nz_spXx@48!00s{8R2(CUeS@dJaljfyvx43@Bp1Ivon#9R#Sp3iWz;(mt;a(Q1 zi#8k0){R=Ic&)U##mCOHXy>8-sfxL+EZWbN5_CT-NohSZeRqg;vDu{V9G{yS29G8m znR)P=)L++=>>lgFH@sWNaxeGcj3^heHEUcaWiEP|_^PbxW%eWmo#3Zwvlrc(?row_ zRqB`@<!i9>z{-hNU3S{7`m?s;mf-ReBGdX$PI@lA@u*MrOrHbiRyoxLKAn0>X_d%) zC;dCUmZutjpQ-zGdet7Yk8$b_VUyS9Py24O&7&{uL5sxa(sggT=WBm8(5+>ivpyv& zWzN+_3%*YBF`ULT>8g6l<cbT)SGg?@_na|0>2fjb*0)E&5$*xY=U(%8k?Py|>z-27 zWp3-Lu9d-ok#jHZm|N3!;=|=twWX53rgKEj-SkL8edQwACvzuq>|Ge5_;LZSQ7-H9 zVtY@+EYU4$tqEstaM-4<HGeN-7d$Ud^?3cmtuL~s&YYCh)P%cO|6eV0yin$N;haef bf4Dzrsi_x6b#XE<Ffe$!`njxgN@xNA@vA#( literal 0 HcmV?d00001 diff --git a/icons/weather/50d@2x.png b/icons/weather/50d@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f04122b30fdcde958c90ca339bb990fb5508ffef GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_vC0zF+ELn`LHz2)1{8z^z$ z<A2jr?so2)VqtHNxJ7!LIu?+WdHhz>q8m3fvTtggyyd22qP#lt21lx+ub@~@jjoH! zrRel5x9|6M$v>ZS{LcUNdF5Z{J+FLUe17M7+vl#6R6Nm<*xImj(z9n+n4EZO-I$rc z`(bPU>u~1zje8Glb`<(~{mGNNiG14+T*^`A&#TvBdwKZn@d~N*6|5&UiyYT6?QYCH zFx_rlJpUPn>&8!}`95i?Veex-v3P~5a>@GttlUCACsnh>3pju9{?YkkxW-HNy5<At zhc|3BBPSRiXl(j;tCD%n`Z><ws@z5VH<)XDHZNI{dVnioRl%KkQ*}=CehCu)w}L&{ zv8nUd@dDWbmWarO%CDFF{G`V&$IxHQ+8H&0`@l_x$}Ps+Ij2l3uBg7wZIH35oL>B4 zh4B-k0_&}-mPSAEo3*&h@ImQ0g^A|k@hm46TI^nvP;`F6+XDx;O#P>RV(s=z2g5h3 z*zr#|&$N@fi2KGYOSk=e%h%2cDAJEKzL-}rZ+fE9O!e<PmRxT<W>*L9TDnvJ;pJ16 zTc++-*x%qjGg(KgEb`!$fAX8eEO>J~=0>or{qp02?}NIRHCf_MxC#~(@y(TC-^TFX zn{Dmhl)bBD_RoH{<9qPS1zXckxIW<9Ao(NEa=PW(E24I5E=s!HI9)X<PMLrAnu<m5 zzU8s_EnAv=L%l8erOKyU8t+oSuC~;*nQrO!`N6$?XAG;vwkm9X`8T>P_EA{XB*UV1 hb&R-G$xJv9@7?8EcJKCr3k(bl44$rjF6*2UngAa_EeQYs literal 0 HcmV?d00001 diff --git a/icons/weather/50n@2x.png b/icons/weather/50n@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..f04122b30fdcde958c90ca339bb990fb5508ffef GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4mJh`hJr^^Ll_vC0zF+ELn`LHz2)1{8z^z$ z<A2jr?so2)VqtHNxJ7!LIu?+WdHhz>q8m3fvTtggyyd22qP#lt21lx+ub@~@jjoH! zrRel5x9|6M$v>ZS{LcUNdF5Z{J+FLUe17M7+vl#6R6Nm<*xImj(z9n+n4EZO-I$rc z`(bPU>u~1zje8Glb`<(~{mGNNiG14+T*^`A&#TvBdwKZn@d~N*6|5&UiyYT6?QYCH zFx_rlJpUPn>&8!}`95i?Veex-v3P~5a>@GttlUCACsnh>3pju9{?YkkxW-HNy5<At zhc|3BBPSRiXl(j;tCD%n`Z><ws@z5VH<)XDHZNI{dVnioRl%KkQ*}=CehCu)w}L&{ zv8nUd@dDWbmWarO%CDFF{G`V&$IxHQ+8H&0`@l_x$}Ps+Ij2l3uBg7wZIH35oL>B4 zh4B-k0_&}-mPSAEo3*&h@ImQ0g^A|k@hm46TI^nvP;`F6+XDx;O#P>RV(s=z2g5h3 z*zr#|&$N@fi2KGYOSk=e%h%2cDAJEKzL-}rZ+fE9O!e<PmRxT<W>*L9TDnvJ;pJ16 zTc++-*x%qjGg(KgEb`!$fAX8eEO>J~=0>or{qp02?}NIRHCf_MxC#~(@y(TC-^TFX zn{Dmhl)bBD_RoH{<9qPS1zXckxIW<9Ao(NEa=PW(E24I5E=s!HI9)X<PMLrAnu<m5 zzU8s_EnAv=L%l8erOKyU8t+oSuC~;*nQrO!`N6$?XAG;vwkm9X`8T>P_EA{XB*UV1 hb&R-G$xJv9@7?8EcJKCr3k(bl44$rjF6*2UngAa_EeQYs literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-cloud-96.png b/icons/weather/icons8-cloud-96.png new file mode 100644 index 0000000000000000000000000000000000000000..41a851fb7ec77f501eb3a23e72e7a9181f592a99 GIT binary patch literal 2307 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 literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-cloud-lightning-96.png b/icons/weather/icons8-cloud-lightning-96.png new file mode 100644 index 0000000000000000000000000000000000000000..11ea0efdd1c014ec8aa29d1454b3dbc4fe4c4f2a GIT binary patch literal 2665 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 literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-clouds-96.png b/icons/weather/icons8-clouds-96.png new file mode 100644 index 0000000000000000000000000000000000000000..3f5d4d4f83f350f50164835cf7eeb2ed07b0dbde GIT binary patch literal 2291 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 literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-heavy-rain-96.png b/icons/weather/icons8-heavy-rain-96.png new file mode 100644 index 0000000000000000000000000000000000000000..1f8ad3e629d228e6be393ab15230490b6a1b5a13 GIT binary patch literal 2293 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 BVh{iT literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-light-rain-96.png b/icons/weather/icons8-light-rain-96.png new file mode 100644 index 0000000000000000000000000000000000000000..80b3971a63afab9bc569f19c7b68ac9c9b697215 GIT binary patch literal 2273 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 literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-light-snow-96.png b/icons/weather/icons8-light-snow-96.png new file mode 100644 index 0000000000000000000000000000000000000000..14a792fbf2515f1d9c965921480bd6090778f2c0 GIT binary patch literal 2173 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 X-&~i{a@G|L3=9mOu6{1-oD!M<w!ZwR literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-night-96.png b/icons/weather/icons8-night-96.png new file mode 100644 index 0000000000000000000000000000000000000000..91793582810fe14fbdef162e84094953e6b9e1f6 GIT binary patch literal 4202 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 RgMop8!PC{xWt~$(6996vAmRW3 literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-night-wind-96.png b/icons/weather/icons8-night-wind-96.png new file mode 100644 index 0000000000000000000000000000000000000000..7e80a387879545bdb4b1a320727ea27780467562 GIT binary patch literal 5091 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 Dd1v={ literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-partly-cloudy-day-96.png b/icons/weather/icons8-partly-cloudy-day-96.png new file mode 100644 index 0000000000000000000000000000000000000000..7207cab9fba18be0a8b6b8573f5b3f75062fbce0 GIT binary patch literal 2464 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 N22WQ%mvv4FO#n=}rW^nO literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-rain-96.png b/icons/weather/icons8-rain-96.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2bd69874e13d2e8eb29d388f14cf5c1e128dc0 GIT binary patch literal 2144 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 MboFyt=akR{0It^(P5=M^ literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-rain-cloud-96.png b/icons/weather/icons8-rain-cloud-96.png new file mode 100644 index 0000000000000000000000000000000000000000..74e3556e6f45cbbd7b3832b50aecaec0397d6b36 GIT binary patch literal 2552 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 Y?=QSNRsT#s0|Nttr>mdKI;Vst0AW4hwg3PC literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-snow-96.png b/icons/weather/icons8-snow-96.png new file mode 100644 index 0000000000000000000000000000000000000000..9e94bbaec4740238ebec3208ba6239697e11ad3b GIT binary patch literal 2434 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 literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-storm-96.png b/icons/weather/icons8-storm-96.png new file mode 100644 index 0000000000000000000000000000000000000000..5ac2f7b64c2522c20371f37f2be91107b8cb6cac GIT binary patch literal 2598 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 P0|SGntDnm{r-UW|SQ!4D literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-storm-with-heavy-rain-96.png b/icons/weather/icons8-storm-with-heavy-rain-96.png new file mode 100644 index 0000000000000000000000000000000000000000..7fe09cfa179312fe6d3ac88f6e1815bd38403d61 GIT binary patch literal 2734 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 literal 0 HcmV?d00001 diff --git a/icons/weather/icons8-thermometer-96.png b/icons/weather/icons8-thermometer-96.png new file mode 100644 index 0000000000000000000000000000000000000000..fb19b5bcc1f98682363f5ca52927749c4aed575f GIT binary patch literal 1247 zcmeAS@N?(olHy`uVBq!ia0y~yU`POA4mJh`hDS5XEf^RWI14-?iy0WWg+Z8+Vb&Z8 z1_qXio-U3d6?5Lsip_{|6*=B6w*Q`s$R>`U)fZlMpE|e3Q0b^i)1ut@i*ma{<g+I2 z`>ApxC(7l6qjG0c#-$n8_&2oHaj14_SWougnYD^vOmy{x*xJCt^G^=;x2L5vajNYs zHov)dc6IyD{|O2z-rvssw|{<Sj`4Iu1_(GI!MarbSy!Ey*X*x6>q=U^{|4MT|K2v{ z<*BNp@lrw4FW1$*7yR1w|GvlXpL^X8Fh~fPFbPiZWzLh))t6p(erwN}u&8@09+*s- z#<+9hrcB9sM>9FtT4pu1rJvSSe#(A%p8Ezi0|w?jZVF5Z4i`ACFxE*=aFzuLEa3Za zn}IE%;W~#40}qGP!;Xf{(eI+n3gjmQG8e62PH?!PnIZ9=ai!D&2A&U6jT{Y(j>-Y- zKXM)TO2GnF2lAOE8W`i01sDw!GFV<Q?B_kPkPjpPQpLb*a3GsSNx`+}=9LYM$8x-i zx$aF04|&jKmwkm{;g{*GmgVucK7VZc)3dY5`)}6-6M5xVRXhgY>I+?+ztu0d-S1QU z{Ky?%r;90TW_*>{V3J`JKWn$$+sd>_)?Qb$cV02h7Ty%cyyam~{aq{9>q~9#`xL(3 zvD3?A);iU=<1^)b^6$@(yz%vl7W13;Ro%zWp4&V<YxaVSSKso_OwBxRZOq}?T-daA z{_d1t^EGA}M}J=35^wn?J?=%#t&%za_D$nt&OC1|+|l{!+z#II|EHgyJ(-(p+8S@^ zmzQt+oBepQdD`#0J*{=;rvGa4UgF&DetpZU$BPzje}DGIUxgP|js6$z?U;JM<HvvV zg>EV~r<`0hVvC;ssk-DBW0ht9eX%x|U7BK1`O00c9=l{zPhC7d-`D5Q(ZVMV7eyJT zf1X@_=ZKTD#;ZbE)5#vTfh$kAg)QM+`pQvED&|te6p6CSK2d*;UJSN*=;2(_)5;e9 zYqf?UTUn|3*#`0NU#u=o*muCm+2fb0SI@;m%D%=AZrE1KxXxU+;lhKie_cY#Coi90 zb@{?Jvv96olUv&+d^ztX{o!8jcdJ*7zh<|xg@36|;mW$Z_o1eT$FHfaZqv*X^}h0O z^RD}{d*bm6k3KGwyiof@H=Je9S*K=iD-qSUx6jQN3s~=+YR$cI&!Rjrsh|EY#KNV2 zy=dHbgjd7v=KH9>pSS5Aa%$0@Rb=*f+jiBeUpxQ*ogbsVz*9`iDJXo4#;rHCUl$*_ zburdi-r@-V9@)E<r*gz5?JMp~{_WHof1=0o=<`W>x6%_7Cr|&<P+WSed*;E9yDm-i zwf@~^SF*llsjp+`?aTA()gE~9ALrcq_|F>4nh!r)C!dK5`&%4){>YO*OaGnE2F3Um zznR%PF2x_=+_uB=_OwslyQ{@kMcv-E;qbql?ltrN3BQ~7|I;4(y^B-U`BmS$S*`82 z>wEJPw%YFPk01F2{QA7CQ$O=o-SK03y8M?XPWbh8$<ghW@|o$fAB0M8lw92KVUpgX zEy3z@m!El7)A^0lbN;oe*jm?BGq;QCg@1{-pdY8|=@^>7&DU7(tMxa&@`rW@<6h~+ syt$CSZE4Q`G<)Hke0E5AaG>TveC920pVfyy?Er~*y85}Sb4q9e0A5*B+W-In literal 0 HcmV?d00001 diff --git a/main.py b/main.py index dd13857..0e605cb 100644 --- a/main.py +++ b/main.py @@ -436,6 +436,8 @@ if __name__ == "__main__": try: message = mainthread_queue.get_nowait() parts = message.split(":") + print("Main Message Received") + print(message) if message == "EXIT": display_queue.put("EXIT") led_queue.put("EXIT") diff --git a/module_defaults.json b/module_defaults.json index c25c3ba..14c9c1c 100644 --- a/module_defaults.json +++ b/module_defaults.json @@ -274,6 +274,63 @@ "type": "string" } }, + "WeatherWidget": { + "scalable_font_size": { + "name": "Font size", + "description": "The font size of the clock.", + "default": 15, + "type": "integer" + }, + "font_color": { + "name": "Font colour", + "description": "The colour of the font.", + "default": "#ffffff", + "type": "color" + }, + "font_name": { + "name": "Font name", + "description": "The name of the font to use.", + "default": null, + "type": "font" + }, + "font_bold": { + "name": "Font bold", + "description": "Whether the font should be bold.", + "default": false, + "type": "boolean" + }, + "font_italic": { + "name": "Font italic", + "description": "Whether the font should be italic.", + "default": false, + "type": "boolean" + }, + "draw_background": { + "name": "Draw background", + "description": "Draw the background of the widget.", + "default": true, + "type": "boolean" + }, + "background_type": { + "name": "Background type", + "description": "The type of background to use (`color` or `image`).", + "default": "color", + "type": "enum", + "allowed_values": ["color", "image"] + }, + "background_color": { + "name": "Background colour", + "description": "The colour of the background.", + "default": "#000000", + "type": "color" + }, + "background_image": { + "name": "Background image", + "description": "The image to use as the background.", + "default": "", + "type": "filepath" + } + }, "SolidColorPattern": { "tick_rate": { "name": "Tick rate", diff --git a/requirements.txt b/requirements.txt index e041ca2..bec2c92 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ pygame~=2.6.0 -flask~=3.0.3 \ No newline at end of file +flask~=3.0.3 +requests~=2.32.3 \ No newline at end of file diff --git a/screenwidgets.py b/screenwidgets.py index 12884e0..a74da57 100644 --- a/screenwidgets.py +++ b/screenwidgets.py @@ -1,10 +1,12 @@ import math +import time from datetime import datetime -from config import PROP_WINDOW_SCALE, PROP_SCREEN_WIDTH, PROP_SCREEN_HEIGHT +from config import PROP_WINDOW_SCALE, PROP_SCREEN_WIDTH, PROP_SCREEN_HEIGHT, hw_config from utils.num import get_screen_centre from utils.net import get_ip from utils.fonts import get_font_path_or_default +from utils.weather import Weather class IWidgetMeta(type): @@ -241,3 +243,78 @@ class IPShowWidget(IWidget): screen.blit(text_surface, text_rect) screen.blit(text_surface_2, text_rect_2) +class WeatherWidget(IWidget): + def __init__(self, config: dict): + super().__init__(config) + self.pygame = config['pygame'] + + # Get the font path + self.font_path = get_font_path_or_default(self.pygame, config.get("font_name", None), + config.get("font_bold", False), config.get("font_italic", False)) + + # Load the font + self.font = self.pygame.font.Font(self.font_path, config.get("font_size", 15 * PROP_WINDOW_SCALE)) + self.font.bold = config.get("font_bold", False) + self.font.italic = config.get("font_italic", False) + + # Set the colours + self.color = config.get("font_color", "white") + self.background_color = config.get("background_color", "black") + + # Set background options + self.draw_background = config.get("draw_background", False) + self.background_type = config.get("background_type", "color") + if self.background_type == "image" and config.get("background_image", "") != "": + self.bg_image = self.pygame.image.load(config.get("background_image", "")) + self.bg_image = self.pygame.transform.scale(self.bg_image, ( + PROP_SCREEN_WIDTH * PROP_WINDOW_SCALE, PROP_SCREEN_HEIGHT * PROP_WINDOW_SCALE)) + + # Set the weather object + self.weather = Weather(hw_config["owm_api_key"], hw_config["weather_lat"], hw_config["weather_long"], hw_config["weather_units"]) + self.last_updated = 0 + self.place_name = "No Data" + self.weather_description = "" + self.weather_icon = "" + self.temperature = 0 + + self.update_frequency = hw_config["weather_update_frequency"] + + def draw(self, screen): + if time.time() - self.last_updated > self.update_frequency: + self.last_updated = time.time() + print("Updating weather") + # Update the weather + weather = self.weather.get_weather() + if weather is not None: + self.place_name = weather["name"] + self.weather_description = weather["description"] + self.weather_icon = weather["icon"] + self.temperature = weather["temp"] + else: + self.place_name = "No Data" + self.weather_description = "" + self.weather_icon = "" + self.temperature = 0 + + + # Fill the background + if self.draw_background: + if self.background_type == "color": + screen.fill(self.background_color) + elif self.background_type == "image": + screen.blit(self.bg_image, (0, 0)) + + # Render the text + if self.weather_icon != "": + wicon = self.pygame.image.load(self.weather_icon) + wicon = self.pygame.transform.scale(wicon, (65 * PROP_WINDOW_SCALE, 65 * PROP_WINDOW_SCALE)) + + screen.blit(wicon, (get_screen_centre()[0] - 50 * PROP_WINDOW_SCALE, get_screen_centre()[1] - 50 * PROP_WINDOW_SCALE)) + + text_surface = self.font.render(f"{self.place_name}", True, self.color) + text_surface_2 = self.font.render(f"{self.weather_description}", True, self.color) + text_surface_3 = self.font.render(f"{self.temperature}", True, self.color) + + screen.blit(text_surface, (get_screen_centre()[0] - 50 * PROP_WINDOW_SCALE, get_screen_centre()[1] + 50 * PROP_WINDOW_SCALE)) + screen.blit(text_surface_2, (get_screen_centre()[0] - 50 * PROP_WINDOW_SCALE, get_screen_centre()[1] + 70 * PROP_WINDOW_SCALE)) + screen.blit(text_surface_3, (get_screen_centre()[0] - 50 * PROP_WINDOW_SCALE, get_screen_centre()[1] + 90 * PROP_WINDOW_SCALE)) \ No newline at end of file diff --git a/utils/weather.py b/utils/weather.py new file mode 100644 index 0000000..876b1c7 --- /dev/null +++ b/utils/weather.py @@ -0,0 +1,40 @@ +import os.path + +import requests + +# weather['name'] +# weather['weather'][0]['description'] +# weather['weather'][0]['icon'] +# weather['main']['temp'] +# weather['main']['feels_like'] + +class Weather: + def __init__(self, api_key, latitude, longitude, weather_units): + self.api_key = api_key + self.lat = latitude + self.long = longitude + self.weather_units = weather_units + def get_weather(self): + r = requests.get(f"https://api.openweathermap.org/data/2.5/weather?lat={self.lat}&lon={self.long}&appid={self.api_key}&units={self.weather_units}") + + if r.status_code != 200: + return None + jsn = r.json() + + if "weather" not in jsn or len(jsn.get("weather", [])) == 0: + return None + + # Get icon path + icon = jsn['weather'][0]['icon'] + icon_path = f"icons/weather/{icon}@2x.png" + + if not os.path.exists(icon_path): + icon_path = "" + + return { + "name": jsn['name'], + "description": jsn['weather'][0]['description'], + "icon": icon_path, + "temp": jsn['main']['temp'], + "feels_like": jsn['main']['feels_like'] + } -- GitLab