fix: format_weather_data_for_console заменяет None на эм-дэш вместо вывода 'None' в текст
This commit is contained in:
parent
bc37362959
commit
048b9a3a91
@ -151,11 +151,11 @@ class TestPgCommand:
|
||||
await cog.pg.callback(cog, ctx)
|
||||
|
||||
args = ctx.send.call_args[0][0]
|
||||
# dict.get(key, default) возвращает None, если ключ есть, но значение None
|
||||
assert "Температура: None°C" in args
|
||||
assert "ощущается как None°C" in args
|
||||
# None значения корректно заменяются на "—"
|
||||
assert "Температура: —°C" in args
|
||||
assert "ощущается как —°C" in args
|
||||
assert "Описание: —" in args
|
||||
assert "Влажность: None%" in args
|
||||
assert "Влажность: —%" in args
|
||||
assert "Давление: — мм рт. ст." in args
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
||||
@ -195,13 +195,24 @@ def format_weather_data_for_console(data: Optional[dict]) -> Optional[list[str]]
|
||||
if not current:
|
||||
return None
|
||||
|
||||
temp = current.get("temp_C", "—")
|
||||
feels_like = current.get("FeelsLikeC", "—")
|
||||
description = translate_weather(
|
||||
current.get("weatherDesc", [{}])[0].get("value", "—")
|
||||
)
|
||||
humidity = current.get("humidity", "—")
|
||||
wind_kmh = current.get("windspeedKmph", "—")
|
||||
# dict.get() возвращает None если ключ существует со значением null;
|
||||
# используем проверку на None для корректного fallback
|
||||
temp = current.get("temp_C")
|
||||
if temp is None:
|
||||
temp = "—"
|
||||
feels_like = current.get("FeelsLikeC")
|
||||
if feels_like is None:
|
||||
feels_like = "—"
|
||||
weather_desc = current.get("weatherDesc", [{}])[0].get("value")
|
||||
if weather_desc is None:
|
||||
weather_desc = "—"
|
||||
description = translate_weather(weather_desc)
|
||||
humidity = current.get("humidity")
|
||||
if humidity is None:
|
||||
humidity = "—"
|
||||
wind_kmh = current.get("windspeedKmph")
|
||||
if wind_kmh is None:
|
||||
wind_kmh = "—"
|
||||
try:
|
||||
wind = round(int(wind_kmh) / 3.6, 1) if wind_kmh != "—" else "—"
|
||||
except (ValueError, TypeError):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user