You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.5 KiB
53 lines
1.5 KiB
adjectives = ["severe", "scattered", "partly", "mostly"]
|
|
clearWords = ["clear", "sunny"]
|
|
rainWords = ["rain", "showers"]
|
|
fogWords = ["fog", "mist", "smoke"]
|
|
windWords = ["wind", "windy", "gusts"]
|
|
cloudWords = ["cloudy", "overcast"]
|
|
|
|
|
|
def parseDescription(desc):
|
|
# Parse a weather description by returning the first
|
|
# "weather word" in a NWS description.
|
|
# parsed = ((desc.lower()).split("/")).split(" ")
|
|
parsed = ((desc.lower()).split(" "))
|
|
|
|
for i in parsed:
|
|
if i in adjectives:
|
|
continue
|
|
elif i in clearWords:
|
|
return "clear"
|
|
elif i in rainWords:
|
|
return "rain"
|
|
elif i in fogWords:
|
|
return "fog"
|
|
elif i in windWords:
|
|
return "wind"
|
|
elif i in cloudWords:
|
|
return "cloudy"
|
|
else:
|
|
return "clear"
|
|
|
|
return ""
|
|
|
|
|
|
def imageSelector(desc, timeOfDay):
|
|
match desc:
|
|
case "clear":
|
|
if timeOfDay == "day":
|
|
return "/smallIcons/clear-day-small.png"
|
|
else:
|
|
return "/smallIcons/clear-night-small.png"
|
|
case "cloudy":
|
|
if timeOfDay == "day":
|
|
return "/smallIcons/overcast-day-small.png"
|
|
else:
|
|
return "/smallIcons/overcast-night-small.png"
|
|
case "wind":
|
|
return "/smallIcons/wind-small.png"
|
|
case "thunderstorm":
|
|
return "/smallIcons/thunderstorms-rain-small.png"
|
|
case "rain":
|
|
return "/smallIcons/rain-small.png"
|
|
|
|
return "/smallIcons/code-red-small.png"
|
|
|