From 0203dd4b8d45c663356f797c11be17fdec6f22f2 Mon Sep 17 00:00:00 2001 From: subh Date: Tue, 31 Mar 2026 07:35:08 +0530 Subject: changed the weather module for quickshell --- scripts/weather.py | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 scripts/weather.py (limited to 'scripts/weather.py') diff --git a/scripts/weather.py b/scripts/weather.py new file mode 100755 index 0000000..0c2af7b --- /dev/null +++ b/scripts/weather.py @@ -0,0 +1,76 @@ +#!/usr/bin/env python3 + +import requests +import os +import json +from dotenv import load_dotenv + +def getWeatherIcon(isDayTime: bool, weatherDescription: str): + if weatherDescription in ["CLEAR", "MOSTLY_CLEAR"]: + if isDayTime: + return " " + else: + return " " + if weatherDescription in ["PARTLY_CLOUDY"]: + if isDayTime: + return " " + else: + return " " + if weatherDescription in ["CLOUDY", "MOSTLY_CLOUDY"]: + return " " + if weatherDescription in ["LIGHT_RAIN", "LIGHT_TO_MODERATE_RAIN","LIGHT_RAIN_SHOWERS"]: + if isDayTime: + return " " + else: + return " " + if weatherDescription in ["RAIN", "RAIN_SHOWERS", "HEAVY_RAIN", "HEAVY_RAIN_SHOWERS", "MODERATE_TO_HEAVY_RAIN", "RAIN_PERIODICALLY_HEAVY"]: + return " " + if weatherDescription in ["SNOW", "LIGHT_SNOW", "HEAVY_SNOW", "SNOW_SHOWERS", "LIGHT_SNOW_SHOWERS", "HEAVY_SNOW_SHOWERS", "SNOWSTORM", "BLOWING_SNOW", "RAIN_AND_SNOW", "HAIL"]: + return " " + if weatherDescription in ["LIGHT_THUNDERSTORM_RAIN"]: + if isDayTime: + return " " + else: + return " " + + if weatherDescription in ["THUNDERSHOWER", "SCATTERED_THUNDERSTORMS", "THUNDERSTORM", "HEAVY_THUNDERSTORM"]: + return " " + + if weatherDescription in ["WINDY"]: + if isDayTime: + return " " + else: + return " " + + if weatherDescription in ["FOG","HAZE","DUST","MIST","SMOKE"]: + if isDay: + return " " + else: + return " " + + return "󰖐 " + + +url = "https://weather.googleapis.com/v1/currentConditions:lookup" +lat = "25.4448" +long = "81.8432" + +load_dotenv() +params = { + "key":os.getenv("API_KEY"), + "location.latitude":lat, + "location.longitude": long + } + + +response = requests.get(url, params=params) +jsonDump = json.loads(response.text) +currentTemperature = jsonDump["temperature"]["degrees"] +weatherDescription = jsonDump["weatherCondition"]["type"] +isDaytime = jsonDump["isDaytime"] +precipitation = jsonDump["precipitation"]["probability"]["percent"] + + +weatherIcon = getWeatherIcon(isDaytime, weatherDescription) +print(weatherIcon, f"{currentTemperature}°C",f" {precipitation}%") + -- cgit v1.2.3