JonathanHolvey / plugin.audio.streaming-radio

A custom internet radio addon for Kodi
GNU General Public License v3.0
5 stars 3 forks source link

Error when last.fm response doesn't contain a track dictionary #3

Closed JonathanHolvey closed 7 years ago

JonathanHolvey commented 7 years ago
(PythonToCppException) : -->Python callback/script returned the following error<--
                                             - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS!
                                            Error Type: <type 'exceptions.KeyError'>
                                            Error Contents: ('track',)
                                            Traceback (most recent call last):
                                              File "/home/media/.kodi/addons/plugin.audio.streaming-radio/addon.py", line 226, in <module>
                                                RadioSource(params["source"]).play()
                                              File "/home/media/.kodi/addons/plugin.audio.streaming-radio/addon.py", line 58, in play
                                                RadioPlayer().play_stream(self)
                                              File "/home/media/.kodi/addons/plugin.audio.streaming-radio/addon.py", line 83, in play_stream
                                                info.update()
                                              File "/home/media/.kodi/addons/plugin.audio.streaming-radio/addon.py", line 106, in update
                                                self.get_track_info()
                                              File "/home/media/.kodi/addons/plugin.audio.streaming-radio/addon.py", line 154, in get_track_info
                                                track_info = response.json()["track"]
                                            KeyError: ('track',)
                                            -->End of Python script error report<--
the-black-eagle commented 7 years ago

response = requests.get(track_url.format(self.api_key, urlencode(self.info["artist"]), urlencode(self.info["title"]))) if response.status_code == requests.codes.ok: if 'track' in response.json(): track_info = response.json()["track"] else: track_info = None