3131 ),
3232 ),
3333 (
34- "Alert severity fallbacks " ,
35- "Fallbacks by alert severity." ,
34+ "Alert severities " ,
35+ "Weather alert sounds by severity." ,
3636 (
3737 ("extreme" , "Extreme severity" ),
3838 ("severe" , "Severe severity" ),
3939 ("moderate" , "Moderate severity" ),
4040 ("minor" , "Minor severity" ),
4141 ),
4242 ),
43- (
44- "Alert type fallbacks" ,
45- "Fallbacks by alert type." ,
46- (
47- ("warning" , "Generic warning" ),
48- ("watch" , "Generic watch" ),
49- ("advisory" , "Generic advisory" ),
50- ("statement" , "Generic statement" ),
51- ),
52- ),
53- (
54- "Alert events" ,
55- "Specific alert sounds." ,
56- (
57- ("tornado_warning" , "Tornado Warning" ),
58- ("tornado_watch" , "Tornado Watch" ),
59- ("thunderstorm_warning" , "Severe Thunderstorm Warning" ),
60- ("thunderstorm_watch" , "Severe Thunderstorm Watch" ),
61- ("flood_warning" , "Flood Warning" ),
62- ("flood_watch" , "Flood Watch" ),
63- ("flood_advisory" , "Flood Advisory" ),
64- ("flash_flood_warning" , "Flash Flood Warning" ),
65- ("flash_flood_watch" , "Flash Flood Watch" ),
66- ("coastal_flood_warning" , "Coastal Flood Warning" ),
67- ("coastal_flood_watch" , "Coastal Flood Watch" ),
68- ("coastal_flood_advisory" , "Coastal Flood Advisory" ),
69- ("river_flood_warning" , "River Flood Warning" ),
70- ("river_flood_watch" , "River Flood Watch" ),
71- ("excessive_heat_warning" , "Excessive Heat Warning" ),
72- ("excessive_heat_watch" , "Excessive Heat Watch" ),
73- ("heat_advisory" , "Heat Advisory" ),
74- ("winter_storm_warning" , "Winter Storm Warning" ),
75- ("winter_storm_watch" , "Winter Storm Watch" ),
76- ("winter_weather_advisory" , "Winter Weather Advisory" ),
77- ("blizzard_warning" , "Blizzard Warning" ),
78- ("ice_storm_warning" , "Ice Storm Warning" ),
79- ("ice_warning" , "Generic ice warning" ),
80- ("snow_warning" , "Generic snow warning" ),
81- ("snow_squall_warning" , "Snow Squall Warning" ),
82- ("freeze_warning" , "Freeze Warning" ),
83- ("freeze_watch" , "Freeze Watch" ),
84- ("frost_advisory" , "Frost Advisory" ),
85- ("extreme_cold_warning" , "Extreme Cold Warning" ),
86- ("cold_weather_advisory" , "Cold Weather Advisory" ),
87- ("high_wind_warning" , "High Wind Warning" ),
88- ("high_wind_watch" , "High Wind Watch" ),
89- ("wind_advisory" , "Wind Advisory" ),
90- ("wind_warning" , "Generic wind warning" ),
91- ("extreme_wind_warning" , "Extreme Wind Warning" ),
92- ("hurricane_warning" , "Hurricane Warning" ),
93- ("hurricane_watch" , "Hurricane Watch" ),
94- ("tropical_storm_warning" , "Tropical Storm Warning" ),
95- ("tropical_storm_watch" , "Tropical Storm Watch" ),
96- ("storm_surge_warning" , "Storm Surge Warning" ),
97- ("storm_surge_watch" , "Storm Surge Watch" ),
98- ("red_flag_warning" , "Red Flag Warning" ),
99- ("fire_weather_watch" , "Fire Weather Watch" ),
100- ("fire_warning" , "Generic fire warning" ),
101- ("small_craft_advisory" , "Small Craft Advisory" ),
102- ("gale_warning" , "Gale Warning" ),
103- ("storm_warning" , "Marine storm warning" ),
104- ("hurricane_force_wind_warning" , "Hurricane Force Wind Warning" ),
105- ("special_marine_warning" , "Special Marine Warning" ),
106- ("dense_fog_advisory" , "Dense Fog Advisory" ),
107- ("fog_advisory" , "Generic fog advisory" ),
108- ("air_quality_alert" , "Air Quality Alert" ),
109- ("dust_storm_warning" , "Dust Storm Warning" ),
110- ("dust_advisory" , "Dust Advisory" ),
111- ("dust_warning" , "Generic dust warning" ),
112- ),
113- ),
43+ )
44+
45+ LEGACY_SOUND_EVENT_KEYS : frozenset [str ] = frozenset (
46+ {
47+ "warning" ,
48+ "watch" ,
49+ "advisory" ,
50+ "statement" ,
51+ "tornado_warning" ,
52+ "tornado_watch" ,
53+ "thunderstorm_warning" ,
54+ "thunderstorm_watch" ,
55+ "flood_warning" ,
56+ "flood_watch" ,
57+ "flood_advisory" ,
58+ "flash_flood_warning" ,
59+ "flash_flood_watch" ,
60+ "coastal_flood_warning" ,
61+ "coastal_flood_watch" ,
62+ "coastal_flood_advisory" ,
63+ "river_flood_warning" ,
64+ "river_flood_watch" ,
65+ "excessive_heat_warning" ,
66+ "excessive_heat_watch" ,
67+ "heat_advisory" ,
68+ "winter_storm_warning" ,
69+ "winter_storm_watch" ,
70+ "winter_weather_advisory" ,
71+ "blizzard_warning" ,
72+ "ice_storm_warning" ,
73+ "ice_warning" ,
74+ "snow_warning" ,
75+ "snow_squall_warning" ,
76+ "freeze_warning" ,
77+ "freeze_watch" ,
78+ "frost_advisory" ,
79+ "extreme_cold_warning" ,
80+ "cold_weather_advisory" ,
81+ "high_wind_warning" ,
82+ "high_wind_watch" ,
83+ "wind_advisory" ,
84+ "wind_warning" ,
85+ "extreme_wind_warning" ,
86+ "hurricane_warning" ,
87+ "hurricane_watch" ,
88+ "tropical_storm_warning" ,
89+ "tropical_storm_watch" ,
90+ "storm_surge_warning" ,
91+ "storm_surge_watch" ,
92+ "red_flag_warning" ,
93+ "fire_weather_watch" ,
94+ "fire_warning" ,
95+ "small_craft_advisory" ,
96+ "gale_warning" ,
97+ "storm_warning" ,
98+ "hurricane_force_wind_warning" ,
99+ "special_marine_warning" ,
100+ "dense_fog_advisory" ,
101+ "fog_advisory" ,
102+ "air_quality_alert" ,
103+ "dust_storm_warning" ,
104+ "dust_advisory" ,
105+ "dust_warning" ,
106+ "tornado" ,
107+ "flood" ,
108+ "heat" ,
109+ "wind" ,
110+ "winter" ,
111+ "snow" ,
112+ "ice" ,
113+ "thunderstorm" ,
114+ "hurricane" ,
115+ "fire" ,
116+ "fog" ,
117+ "dust" ,
118+ "air_quality" ,
119+ }
114120)
115121
116122USER_MUTABLE_SOUND_EVENTS : tuple [tuple [str , str ], ...] = tuple (
123129 event_key for event_key , _label in USER_MUTABLE_SOUND_EVENTS
124130)
125131
132+ KNOWN_SOUND_EVENT_KEYS : frozenset [str ] = USER_MUTABLE_SOUND_EVENT_KEYS | LEGACY_SOUND_EVENT_KEYS
133+
126134FRIENDLY_SOUND_EVENT_CHOICES : tuple [tuple [str , str ], ...] = tuple (
127135 (label , event_key ) for event_key , label in USER_MUTABLE_SOUND_EVENTS
128136)
@@ -147,7 +155,5 @@ def normalize_muted_sound_events(events: Collection[str] | None) -> list[str]:
147155def normalize_known_muted_sound_events (events : Collection [str ] | None ) -> list [str ]:
148156 """Normalize muted events and drop unknown keys from the shared catalog."""
149157 return [
150- event
151- for event in normalize_muted_sound_events (events )
152- if event in USER_MUTABLE_SOUND_EVENT_KEYS
158+ event for event in normalize_muted_sound_events (events ) if event in KNOWN_SOUND_EVENT_KEYS
153159 ]
0 commit comments