diff --git a/gallery/easel/route/view/weather/filters.py b/gallery/easel/route/view/weather/filters.py index 77bb247..a7122fc 100644 --- a/gallery/easel/route/view/weather/filters.py +++ b/gallery/easel/route/view/weather/filters.py @@ -48,6 +48,7 @@ def cloudness_icon(sky: Sky, date: datetime.datetime, period: str) -> list[str]: Precipitation.SHOWER: "rain", Precipitation.SNOW: "snow", Precipitation.HEAVY_SNOW: "snow", + Precipitation.HAIL: "hail", }[sky.precipitation] if sky.cloudness == Cloudness.PARTLY_CLOUDY: main_icon = f"{day_prefix}-{main_icon}" diff --git a/gallery/painting/gismeteo/parser.py b/gallery/painting/gismeteo/parser.py index 89a0667..9a118a9 100644 --- a/gallery/painting/gismeteo/parser.py +++ b/gallery/painting/gismeteo/parser.py @@ -65,21 +65,20 @@ class SkyParser(RowParser[Sky]): PRECIPITATION_MAP: dict[str, Precipitation] = { "без осадков": Precipitation.NO, - "небольшой дождь": Precipitation.SMALL_RAIN, # TODO: remove it? "небольшой дождь": Precipitation.SMALL_RAIN, - "сильный дождь": Precipitation.HEAVY_RAIN, # TODO: remove it? "сильный дождь": Precipitation.HEAVY_RAIN, "ливневый дождь": Precipitation.SHOWER, "дождь": Precipitation.RAIN, "ливень": Precipitation.SHOWER, "снег": Precipitation.SNOW, - "небольшой снег": Precipitation.SNOW, - "сильный снег": Precipitation.HEAVY_SNOW, - "мокрый снег": Precipitation.SNOW, + "небольшой снег": Precipitation.SNOW, + "сильный снег": Precipitation.HEAVY_SNOW, + "мокрый снег": Precipitation.SNOW, "снег с дождём": Precipitation.SNOW, - "сильный снег с дождём": Precipitation.HEAVY_SNOW, - "небольшой снег с дождём": Precipitation.SNOW, - "небольшой мокрый снег": Precipitation.SNOW, + "сильный снег с дождём": Precipitation.HEAVY_SNOW, + "небольшой снег с дождём": Precipitation.SNOW, + "небольшой мокрый снег": Precipitation.SNOW, + "град": Precipitation.HAIL, } THUNDER = "гроза" diff --git a/gallery/sketch/weather/model.py b/gallery/sketch/weather/model.py index f13ae37..da49b17 100644 --- a/gallery/sketch/weather/model.py +++ b/gallery/sketch/weather/model.py @@ -37,6 +37,7 @@ class Precipitation(StrEnum): SHOWER = auto() SNOW = auto() HEAVY_SNOW = auto() + HAIL = auto() class Sky(Model): diff --git a/static/src/lib/weather-icons/classes-list.scss b/static/src/lib/weather-icons/classes-list.scss index 0ac7954..7f05c51 100644 --- a/static/src/lib/weather-icons/classes-list.scss +++ b/static/src/lib/weather-icons/classes-list.scss @@ -7,12 +7,18 @@ .wi-thunderstorm { mask-image: url(./svg/wi-thunderstorm.svg); } +.wi-hail { + mask-image: url(./svg/wi-hail.svg); +} .wi-day-rain { mask-image: url(./svg/wi-day-rain.svg); } .wi-cloudy { mask-image: url(./svg/wi-cloudy.svg); } +.wi-day-hail { + mask-image: url(./svg/wi-day-hail.svg); +} .wi-night-clear { mask-image: url(./svg/wi-night-clear.svg); } @@ -49,6 +55,9 @@ .wi-day-sunny { mask-image: url(./svg/wi-day-sunny.svg); } +.wi-night-alt-hail { + mask-image: url(./svg/wi-night-alt-hail.svg); +} .wi-night-alt-cloudy { mask-image: url(./svg/wi-night-alt-cloudy.svg); } diff --git a/static/src/lib/weather-icons/svg/wi-day-hail.svg b/static/src/lib/weather-icons/svg/wi-day-hail.svg new file mode 100644 index 0000000..b813a6f --- /dev/null +++ b/static/src/lib/weather-icons/svg/wi-day-hail.svg @@ -0,0 +1,42 @@ + + + + + diff --git a/static/src/lib/weather-icons/svg/wi-hail.svg b/static/src/lib/weather-icons/svg/wi-hail.svg new file mode 100644 index 0000000..26c4b0d --- /dev/null +++ b/static/src/lib/weather-icons/svg/wi-hail.svg @@ -0,0 +1,30 @@ + + + + + diff --git a/static/src/lib/weather-icons/svg/wi-night-alt-hail.svg b/static/src/lib/weather-icons/svg/wi-night-alt-hail.svg new file mode 100644 index 0000000..38550e4 --- /dev/null +++ b/static/src/lib/weather-icons/svg/wi-night-alt-hail.svg @@ -0,0 +1,34 @@ + + + + +