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