diff --git a/sublime/app.py b/sublime/app.py index ca756a0..5771bd4 100644 --- a/sublime/app.py +++ b/sublime/app.py @@ -306,14 +306,13 @@ class SublimeMusicApp(Gtk.Application): playlist = CacheManager.get_playlist(playlist_id).result() # Calculate the song id to play. - song_id = playlist.entry[0].id + song_idx = 0 if self.state.shuffle_on: - rand_idx = random.randint(0, len(playlist.entry) - 1) - song_id = playlist.entry[rand_idx].id + song_idx = random.randint(0, len(playlist.entry) - 1) self.on_song_clicked( None, - song_id, + song_idx, [s.id for s in playlist.entry], {'active_playlist_id': playlist_id}, ) diff --git a/sublime/server/server.py b/sublime/server/server.py index d57c086..ef1b9bc 100644 --- a/sublime/server/server.py +++ b/sublime/server/server.py @@ -87,7 +87,8 @@ class Server: def _subsonic_error_to_exception(self, error) -> Exception: return Exception(f'{error.code}: {error.message}') - def _get(self, url, timeout=(3.05, 2), **params): + # def _get(self, url, timeout=(3.05, 2), **params): + def _get(self, url, **params): params = {**self._get_params(), **params} print(f'[START] get: {url}') @@ -100,7 +101,7 @@ class Server: url, params=params, verify=not self.disable_cert_verify, - timeout=timeout, + # timeout=timeout, ) # TODO make better if result.status_code != 200: @@ -144,7 +145,7 @@ class Server: def do_download(self, url, **params) -> bytes: print('download', url) download = self._get(url, **params) - if 'json' in download.get('Content-Type'): + if 'json' in download.headers.get('Content-Type'): # TODO make better raise Exception("Didn't expect JSON.") return download.content