2020-03-08 12:31:00 +01:00
|
|
|
import logging
|
|
|
|
|
2016-09-18 04:33:46 +02:00
|
|
|
from mopidy import backend
|
|
|
|
from mopidy_subidy import uri
|
2016-11-03 16:14:23 +01:00
|
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
2016-09-18 04:33:46 +02:00
|
|
|
|
2020-03-08 12:30:34 +01:00
|
|
|
|
2016-09-18 04:33:46 +02:00
|
|
|
class SubidyPlaybackProvider(backend.PlaybackProvider):
|
|
|
|
def __init__(self, *args, **kwargs):
|
2020-03-08 12:30:14 +01:00
|
|
|
super().__init__(*args, **kwargs)
|
2016-09-18 04:33:46 +02:00
|
|
|
self.subsonic_api = self.backend.subsonic_api
|
|
|
|
|
|
|
|
def translate_uri(self, translate_uri):
|
2016-11-03 16:14:23 +01:00
|
|
|
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)
|
2025-02-04 16:41:22 +00:00
|
|
|
|
|
|
|
def should_download(self, uri):
|
|
|
|
return True
|