Merge pull request #4413 from arsaboo/spotify_debug

Fix: Crash when search encounters a 404 error
This commit is contained in:
Adrian Sampson 2022-07-15 10:58:10 -04:00 committed by GitHub
commit 50825dbfc8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -194,8 +194,9 @@ class SpotifyPlugin(MetadataSourcePlugin, BeetsPlugin):
time.sleep(int(seconds) + 1)
return self._handle_response(request_type, url, params=params)
elif response.status_code == 404:
raise SpotifyAPIError("API Error {0.status_code} for {1}"
.format(response, url))
raise SpotifyAPIError("API Error: {}\nURL: {}\nparams: {}".
format(response.status_code, url,
params))
else:
raise ui.UserError(
'{} API error:\n{}\nURL:\n{}\nparams:\n{}'.format(
@ -395,15 +396,17 @@ class SpotifyPlugin(MetadataSourcePlugin, BeetsPlugin):
self._log.debug(
f"Searching {self.data_source} for '{query}'"
)
response_data = (
self._handle_response(
try:
response = self._handle_response(
requests.get,
self.search_url,
params={'q': query, 'type': query_type},
)
.get(query_type + 's', {})
.get('items', [])
)
except SpotifyAPIError as e:
self._log.debug('Spotify API error: {}', e)
return []
response_data = (response.get(query_type + 's', {})
.get('items', []))
self._log.debug(
"Found {} result(s) from {} for '{}'",
len(response_data),