diff --git a/mopidy/backends/spotify/actor.py b/mopidy/backends/spotify/actor.py index 5fc5cc4f..5e90205b 100644 --- a/mopidy/backends/spotify/actor.py +++ b/mopidy/backends/spotify/actor.py @@ -31,9 +31,14 @@ class SpotifyBackend(pykka.ThreadingActor, base.Backend): # Fail early if settings are not present username = settings.SPOTIFY_USERNAME password = settings.SPOTIFY_PASSWORD + proxy = settings.SPOTIFY_PROXY_HOST + proxy_username = settings.SPOTIFY_PROXY_USERNAME + proxy_password = settings.SPOTIFY_PROXY_PASSWORD self.spotify = SpotifySessionManager( - username, password, audio=audio, backend_ref=self.actor_ref) + username, password, audio=audio, backend_ref=self.actor_ref, + proxy=proxy, proxy_username=proxy_username, + proxy_password=proxy_password) def on_start(self): logger.info('Mopidy uses SPOTIFY(R) CORE') diff --git a/mopidy/backends/spotify/session_manager.py b/mopidy/backends/spotify/session_manager.py index 821bd27c..00d45e19 100644 --- a/mopidy/backends/spotify/session_manager.py +++ b/mopidy/backends/spotify/session_manager.py @@ -32,8 +32,12 @@ class SpotifySessionManager(process.BaseThread, PyspotifySessionManager): appkey_file = os.path.join(os.path.dirname(__file__), 'spotify_appkey.key') user_agent = 'Mopidy %s' % versioning.get_version() - def __init__(self, username, password, audio, backend_ref): - PyspotifySessionManager.__init__(self, username, password) + def __init__(self, username, password, audio, backend_ref, proxy=None, + proxy_username=None, proxy_password=None): + PyspotifySessionManager.__init__( + self, username, password, proxy=proxy, + proxy_username=proxy_username, + proxy_password=proxy_password) process.BaseThread.__init__(self) self.name = 'SpotifyThread' diff --git a/mopidy/settings.py b/mopidy/settings.py index 897745d7..22df5d2d 100644 --- a/mopidy/settings.py +++ b/mopidy/settings.py @@ -218,3 +218,45 @@ SPOTIFY_PASSWORD = '' #: #: SPOTIFY_BITRATE = 160 SPOTIFY_BITRATE = 160 + +#: Spotify proxy host +#: +#: Example:: +#: +#: SPOTIFY_PROXY_HOST = u'protocol://host:port' +#: +#: Used by :mod:`mopidy.backends.spotify` +#: +#: Default :: +#: +#: SPOTIFY_PROXY_HOST = None +#: +SPOTIFY_PROXY_HOST = None + +#: Spotify proxy username +#: +#: Example:: +#: +#: SPOTIFY_PROXY_HOST = u'username' +#: +#: Used by :mod:`mopidy.backends.spotify` +#: +#: Default :: +#: +#: SPOTIFY_PROXY_USERNAME = None +#: +SPOTIFY_PROXY_USERNAME = None + +#: Spotify proxy password +#: +#: Example:: +#: +#: SPOTIFY_PROXY_HOST = u'password' +#: +#: Used by :mod:`mopidy.backends.spotify` +#: +#: Default :: +#: +#: SPOTIFY_PROXY_PASSWORD = None +#: +SPOTIFY_PROXY_PASSWORD = None