mopidy/mopidy/backends/spotify.py
2009-12-25 15:37:25 +01:00

33 lines
1.1 KiB
Python

import spytify
from mopidy import settings
from mopidy.backends.base import BaseBackend
class SpotifyBackend(BaseBackend):
def __init__(self, *args, **kwargs):
super(SpotifyBackend, self).__init__(*args, **kwargs)
self.spotify = spytify.Spytify(
settings.SPOTIFY_USERNAME.encode('utf-8'),
settings.SPOTIFY_PASSWORD.encode('utf-8'))
self._playlist_load_cache = None
def playlist_load(self, name):
if not self._playlist_load_cache:
for playlist in self.spotify.stored_playlists:
if playlist.name == name:
tracks = []
for track in playlist.tracks:
tracks.append(u'add %s\n' % track.file_id)
self._playlist_load_cache = tracks
break
return self._playlist_load_cache
def playlists_list(self):
playlists = []
for playlist in self.spotify.stored_playlists:
playlists.append(u'playlist: %s' % playlist.name.decode('utf-8'))
return playlists
def url_handlers(self):
return [u'spotify:', u'http://open.spotify.com/']