"""Rinse FM: London's station family, a proxy mount each.""" from __future__ import annotations from ...models import Station from .base import CommunityProvider #: (station id, title, genre, mount, description) _STATIONS: tuple[tuple[str, str, str, str, str], ...] = ( ( "rinse_uk", "Rinse UK", "electronic|house", "rinse_uk", "London's underground dance station, on air since 1994", ), ( "kool", "Kool London", "jungle|drum & bass", "kool", "Kool London: jungle, drum & bass and roots", ), ( "swu", "SWU", "soul|eclectic", "swu", "SWU: soul, funk and everything south west", ), ) class RinseProvider(CommunityProvider): id = "rinse" name = "Rinse FM" homepage = "rinse.fm" brand = "RINSE" tagline = "london ยท since 1994" station_source = "rinse.fm streams" history_source = "" station_genre = "electronic" wordmark = "RINSE" hero_lines = ("LONDON", "SINCE 1994") def stations(self) -> list[Station]: return [ Station( id=station_id, title=title, description=description, genre=genre, playlists=[ { "url": f"https://admin.stream.rinse.fm/proxy/{mount}/stream", "format": "aacp", "quality": "high", "bitrate": "128", } ], provider=self.id, ) for station_id, title, genre, mount, description in _STATIONS ]