🐛 hotfix: 天气拉取异常

This commit is contained in:
远野千束 2024-09-29 22:52:34 +08:00
parent 596f4d06ea
commit e6ea1b700f

View File

@ -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()
return resp.json()