import os import urllib from PIL import Image HERE = os.path.dirname(os.path.abspath(__file__)) OWM_ICONS_CACHE = os.path.join(HERE, "owm_icons_cache/") if not os.path.exists(OWM_ICONS_CACHE): os.mkdir(OWM_ICONS_CACHE) def get_weather_icon(icon_name, size) -> Image: """ Gets the requested weather icon as Image and returns it in the requested size :param icon_name: icon_name for the weather :param size: size of the icon in pixels :return: the resized weather icon """ iconpath = os.path.join(OWM_ICONS_CACHE, f"{icon_name}.png") if not os.path.exists(iconpath): urllib.request.urlretrieve(url=f"https://openweathermap.org/img/wn/{icon_name}@2x.png", filename=f"{iconpath}") icon = Image.open(iconpath) icon = icon.resize((size, size)) return icon