mirror of
https://github.com/GeorgeSG/dotfiles.git
synced 2026-09-06 17:38:45 +00:00
Switch to dotbot
This commit is contained in:
Executable
+62
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import requests, json, sys, time
|
||||
from secrets import WEATHER_API_TOKEN, WEATHER_CITY
|
||||
|
||||
UNITS = "metric"
|
||||
LANG = "en"
|
||||
|
||||
|
||||
def get_icon(code):
|
||||
icons = {
|
||||
"01d": "",
|
||||
"01n": "",
|
||||
"02d": "",
|
||||
"02n": "",
|
||||
"03d": "",
|
||||
"03n": "",
|
||||
"04d": "",
|
||||
"04n": "",
|
||||
"09d": "",
|
||||
"09n": "",
|
||||
"10d": "",
|
||||
"10n": "",
|
||||
"11d": "",
|
||||
"11n": "",
|
||||
"13d": "",
|
||||
"13n": "",
|
||||
"50d": "",
|
||||
"50n": "",
|
||||
}
|
||||
|
||||
try:
|
||||
return icons[code]
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
|
||||
def main():
|
||||
response = requests.get(
|
||||
f"https://api.openweathermap.org/data/2.5/weather?q={WEATHER_CITY}&appid={WEATHER_API_TOKEN}&lang={LANG}&units={UNITS}"
|
||||
).json()
|
||||
data = {
|
||||
"icon": get_icon(response["weather"][0]["icon"]),
|
||||
"temp": str(round(response["main"]["temp"])) + "°",
|
||||
"desc": response["weather"][0]["description"].capitalize(),
|
||||
}
|
||||
return data
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
while True:
|
||||
try:
|
||||
sys.stdout.write(json.dumps(main()) + "\n")
|
||||
sys.stdout.flush()
|
||||
time.sleep(1800)
|
||||
except requests.exceptions.ConnectionError:
|
||||
print("Connection error! Retrying...")
|
||||
time.sleep(2)
|
||||
|
||||
except KeyboardInterrupt:
|
||||
exit(0)
|
||||
Reference in New Issue
Block a user