diff --git a/src/nonebot_plugins/liteyuki_weather/qw_api.py b/src/nonebot_plugins/liteyuki_weather/qw_api.py index 9f7c28dc..8c641fd4 100644 --- a/src/nonebot_plugins/liteyuki_weather/qw_api.py +++ b/src/nonebot_plugins/liteyuki_weather/qw_api.py @@ -1,6 +1,7 @@ import aiohttp from .qw_models import * +import httpx from ...utils.base.data_manager import get_memory_data from ...utils.base.language import Language @@ -23,8 +24,8 @@ def get_qw_lang(lang: str) -> str: async def check_key_dev(key: str) -> bool: url = "https://api.qweather.com/v7/weather/now?" params = { - "location": "101010100", - "key" : key, + "location": "101010100", + "key" : key, } async with aiohttp.ClientSession() as client: resp = await client.get(url, params=params) @@ -42,27 +43,27 @@ def get_local_data(ulang_code: str) -> dict: """ ulang = Language(ulang_code) return { - "monday" : ulang.get("weather.monday"), - "tuesday" : ulang.get("weather.tuesday"), - "wednesday" : ulang.get("weather.wednesday"), - "thursday" : ulang.get("weather.thursday"), - "friday" : ulang.get("weather.friday"), - "saturday" : ulang.get("weather.saturday"), - "sunday" : ulang.get("weather.sunday"), - "today" : ulang.get("weather.today"), - "tomorrow" : ulang.get("weather.tomorrow"), - "day" : ulang.get("weather.day"), - "night" : ulang.get("weather.night"), - "no_aqi" : ulang.get("weather.no_aqi"), - "now-windVelocity" : ulang.get("weather.now-windVelocity"), - "now-humidity" : ulang.get("weather.now-humidity"), - "now-feelsLike" : ulang.get("weather.now-feelsLike"), - "now-precip" : ulang.get("weather.now-precip"), - "now-pressure" : ulang.get("weather.now-pressure"), - "now-vis" : ulang.get("weather.now-vis"), - "now-cloud" : ulang.get("weather.now-cloud"), - "astronomy-sunrise" : ulang.get("weather.astronomy-sunrise"), - "astronomy-sunset" : ulang.get("weather.astronomy-sunset"), + "monday" : ulang.get("weather.monday"), + "tuesday" : ulang.get("weather.tuesday"), + "wednesday" : ulang.get("weather.wednesday"), + "thursday" : ulang.get("weather.thursday"), + "friday" : ulang.get("weather.friday"), + "saturday" : ulang.get("weather.saturday"), + "sunday" : ulang.get("weather.sunday"), + "today" : ulang.get("weather.today"), + "tomorrow" : ulang.get("weather.tomorrow"), + "day" : ulang.get("weather.day"), + "night" : ulang.get("weather.night"), + "no_aqi" : ulang.get("weather.no_aqi"), + "now-windVelocity" : ulang.get("weather.now-windVelocity"), + "now-humidity" : ulang.get("weather.now-humidity"), + "now-feelsLike" : ulang.get("weather.now-feelsLike"), + "now-precip" : ulang.get("weather.now-precip"), + "now-pressure" : ulang.get("weather.now-pressure"), + "now-vis" : ulang.get("weather.now-vis"), + "now-cloud" : ulang.get("weather.now-cloud"), + "astronomy-sunrise" : ulang.get("weather.astronomy-sunrise"), + "astronomy-sunset" : ulang.get("weather.astronomy-sunset"), } @@ -87,13 +88,13 @@ async def city_lookup( """ url = "https://geoapi.qweather.com/v2/city/lookup?" params = { - "location": location, - "adm" : adm, - "number" : number, - "key" : key, - "lang" : lang, + "location": location, + "adm" : adm, + "number" : number, + "key" : key, + "lang" : lang, } - async with aiohttp.ClientSession() as client: + async with httpx.AsyncClient() as client: resp = await client.get(url, params=params) return CityLookup.parse_obj(resp.json()) @@ -108,14 +109,14 @@ async def get_weather_now( url_path = "v7/weather/now?" url = dev_url + url_path if dev else com_url + url_path params = { - "location": location, - "key" : key, - "lang" : lang, - "unit" : unit, + "location": location, + "key" : key, + "lang" : lang, + "unit" : unit, } - async with aiohttp.ClientSession() as client: + async with httpx.AsyncClient() as client: resp = await client.get(url, params=params) - return await resp.json() + return resp.json() async def get_weather_daily( @@ -128,14 +129,14 @@ async def get_weather_daily( url_path = "v7/weather/%dd?" % (7 if dev else 30) url = dev_url + url_path if dev else com_url + url_path params = { - "location": location, - "key" : key, - "lang" : lang, - "unit" : unit, + "location": location, + "key" : key, + "lang" : lang, + "unit" : unit, } - async with aiohttp.ClientSession() as client: + async with httpx.AsyncClient() as client: resp = await client.get(url, params=params) - return await resp.json() + return resp.json() async def get_weather_hourly( @@ -148,14 +149,14 @@ async def get_weather_hourly( url_path = "v7/weather/%dh?" % (24 if dev else 168) url = dev_url + url_path if dev else com_url + url_path params = { - "location": location, - "key" : key, - "lang" : lang, - "unit" : unit, + "location": location, + "key" : key, + "lang" : lang, + "unit" : unit, } - async with aiohttp.ClientSession() as client: + async with httpx.AsyncClient() as client: resp = await client.get(url, params=params) - return await resp.json() + return resp.json() async def get_airquality( @@ -169,14 +170,14 @@ async def get_airquality( url_path = f"airquality/v1/now/{location}?" url = dev_url + url_path if dev else com_url + url_path params = { - "key" : key, - "lang" : lang, - "pollutant": pollutant, - "station" : station, + "key" : key, + "lang" : lang, + "pollutant": pollutant, + "station" : station, } - async with aiohttp.ClientSession() as client: + async with httpx.AsyncClient() as client: resp = await client.get(url, params=params) - return await resp.json() + return resp.json() async def get_astronomy( key: str, @@ -187,10 +188,10 @@ async def get_astronomy( url_path = f"v7/astronomy/sun?" url = dev_url + url_path if dev else com_url + url_path params = { - "key" : key, - "location" : location, - "date" : date, + "key" : key, + "location" : location, + "date" : date, } - async with aiohttp.ClientSession() as client: + async with httpx.AsyncClient() as client: resp = await client.get(url, params=params) - return await resp.json() \ No newline at end of file + return resp.json() \ No newline at end of file