workaround for mopidy/mopidy#62 - appends folder names to playlist
This commit is contained in:
parent
6855fddbfb
commit
c58de5aa75
@ -173,12 +173,17 @@ class SpotifySessionManager(process.BaseThread, PyspotifySessionManager):
|
||||
logger.debug('Still getting data; skipped refresh of playlists')
|
||||
return
|
||||
playlists = []
|
||||
folders = []
|
||||
for spotify_playlist in self.session.playlist_container():
|
||||
if spotify_playlist.type() == 'folder_start':
|
||||
folders.append(spotify_playlist)
|
||||
if spotify_playlist.type() == 'folder_end':
|
||||
folders.pop()
|
||||
playlists.append(translator.to_mopidy_playlist(
|
||||
spotify_playlist,
|
||||
spotify_playlist, folders,
|
||||
bitrate=self.bitrate, username=self.username))
|
||||
playlists.append(translator.to_mopidy_playlist(
|
||||
self.session.starred(),
|
||||
self.session.starred(), None,
|
||||
bitrate=self.bitrate, username=self.username))
|
||||
playlists = filter(None, playlists)
|
||||
self.backend.playlists.playlists = playlists
|
||||
|
||||
@ -67,7 +67,7 @@ def to_mopidy_track(spotify_track, bitrate=None):
|
||||
return track_cache[uri]
|
||||
|
||||
|
||||
def to_mopidy_playlist(spotify_playlist, bitrate=None, username=None):
|
||||
def to_mopidy_playlist(spotify_playlist, spotify_folders, bitrate=None, username=None):
|
||||
if spotify_playlist is None or spotify_playlist.type() != 'playlist':
|
||||
return
|
||||
try:
|
||||
@ -78,6 +78,9 @@ def to_mopidy_playlist(spotify_playlist, bitrate=None, username=None):
|
||||
if not spotify_playlist.is_loaded():
|
||||
return Playlist(uri=uri, name='[loading...]')
|
||||
name = spotify_playlist.name()
|
||||
if spotify_folders is not None:
|
||||
folder_names = unicode.join('', ['[' + folder.name() + ']' for folder in spotify_folders])
|
||||
name = folder_names + ' ' + name
|
||||
tracks = [
|
||||
to_mopidy_track(spotify_track, bitrate=bitrate)
|
||||
for spotify_track in spotify_playlist
|
||||
|
||||
Loading…
Reference in New Issue
Block a user