import logging from mopidy import backend from mopidy_subidy import uri logger = logging.getLogger(__name__) class SubidyPlaybackProvider(backend.PlaybackProvider): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.subsonic_api = self.backend.subsonic_api def translate_uri(self, translate_uri): song_id = uri.get_song_id(translate_uri) censored_url = self.subsonic_api.get_censored_song_stream_uri(song_id) logger.debug("Loading song from subsonic with url: '%s'" % censored_url) return self.subsonic_api.get_song_stream_uri(song_id) def should_download(self, uri): return True