summaryrefslogtreecommitdiff
path: root/.scripts/waybar-wttr.py
diff options
context:
space:
mode:
authorThanos Apollo <[email protected]>2024-05-13 08:42:44 +0300
committerThanos Apollo <[email protected]>2024-05-13 08:42:44 +0300
commit2e74d58a4f675b5301e69cae105503198d7ff846 (patch)
treee92cca5c6406898e9ac1eae08653d894c24e3acf /.scripts/waybar-wttr.py
parentb6d164b032b255767b04a73e8ac0e04b61991048 (diff)
parent5d6840de02f01c017cc1ce99238d6962331087da (diff)
Merge branch 'guix-config'
Diffstat (limited to '.scripts/waybar-wttr.py')
-rwxr-xr-x.scripts/waybar-wttr.py119
1 files changed, 0 insertions, 119 deletions
diff --git a/.scripts/waybar-wttr.py b/.scripts/waybar-wttr.py
deleted file mode 100755
index 08b49a6..0000000
--- a/.scripts/waybar-wttr.py
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/usr/bin/env python
-
-import json
-import requests
-from datetime import datetime
-
-WEATHER_CODES = {
- '113': '☀️ ',
- '116': '⛅ ',
- '119': '☁️ ',
- '122': '☁️ ',
- '143': '☁️ ',
- '176': '🌧️',
- '179': '🌧️',
- '182': '🌧️',
- '185': '🌧️',
- '200': '⛈️ ',
- '227': '🌨️',
- '230': '🌨️',
- '248': '☁️ ',
- '260': '☁️ ',
- '263': '🌧️',
- '266': '🌧️',
- '281': '🌧️',
- '284': '🌧️',
- '293': '🌧️',
- '296': '🌧️',
- '299': '🌧️',
- '302': '🌧️',
- '305': '🌧️',
- '308': '🌧️',
- '311': '🌧️',
- '314': '🌧️',
- '317': '🌧️',
- '320': '🌨️',
- '323': '🌨️',
- '326': '🌨️',
- '329': '❄️ ',
- '332': '❄️ ',
- '335': '❄️ ',
- '338': '❄️ ',
- '350': '🌧️',
- '353': '🌧️',
- '356': '🌧️',
- '359': '🌧️',
- '362': '🌧️',
- '365': '🌧️',
- '368': '🌧️',
- '371': '❄️',
- '374': '🌨️',
- '377': '🌨️',
- '386': '🌨️',
- '389': '🌨️',
- '392': '🌧️',
- '395': '❄️ '
-}
-
-data = {}
-
-
-weather = requests.get("https://wttr.in/?format=j1").json()
-
-
-def format_time(time):
- return time.replace("00", "").zfill(2)
-
-
-def format_temp(temp):
- return (hour['FeelsLikeC']+"°").ljust(3)
-
-
-def format_chances(hour):
- chances = {
- "chanceoffog": "Fog",
- "chanceoffrost": "Frost",
- "chanceofovercast": "Overcast",
- "chanceofrain": "Rain",
- "chanceofsnow": "Snow",
- "chanceofsunshine": "Sunshine",
- "chanceofthunder": "Thunder",
- "chanceofwindy": "Wind"
- }
-
- conditions = []
- for event in chances.keys():
- if int(hour[event]) > 0:
- conditions.append(chances[event]+" "+hour[event]+"%")
- return ", ".join(conditions)
-
-tempint = int(weather['current_condition'][0]['FeelsLikeC'])
-extrachar = ''
-if tempint > 0 and tempint < 10:
- extrachar = '+'
-
-
-data['text'] = ' '+WEATHER_CODES[weather['current_condition'][0]['weatherCode']] + \
- " "+extrachar+weather['current_condition'][0]['FeelsLikeC']+"°"
-
-data['tooltip'] = f"<b>{weather['current_condition'][0]['weatherDesc'][0]['value']} {weather['current_condition'][0]['temp_C']}°</b>\n"
-data['tooltip'] += f"Feels like: {weather['current_condition'][0]['FeelsLikeC']}°\n"
-data['tooltip'] += f"Wind: {weather['current_condition'][0]['windspeedKmph']}Km/h\n"
-data['tooltip'] += f"Humidity: {weather['current_condition'][0]['humidity']}%\n"
-for i, day in enumerate(weather['weather']):
- data['tooltip'] += f"\n<b>"
- if i == 0:
- data['tooltip'] += "Today, "
- if i == 1:
- data['tooltip'] += "Tomorrow, "
- data['tooltip'] += f"{day['date']}</b>\n"
- data['tooltip'] += f"⬆️ {day['maxtempF']}° ⬇️ {day['mintempF']}° "
- data['tooltip'] += f"🌅 {day['astronomy'][0]['sunrise']} 🌇 {day['astronomy'][0]['sunset']}\n"
- for hour in day['hourly']:
- if i == 0:
- if int(format_time(hour['time'])) < datetime.now().hour-2:
- continue
- data['tooltip'] += f"{format_time(hour['time'])} {WEATHER_CODES[hour['weatherCode']]} {format_temp(hour['FeelsLikeC'])} {hour['weatherDesc'][0]['value']}, {format_chances(hour)}\n"
-
-
-print(json.dumps(data))