summaryrefslogtreecommitdiff
path: root/scripts/weather.py
blob: 0c2af7b6f32a1f14d34eafc22161eff4f2c981ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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}%")