Raise exception when gpodder.net queries fail.

This avoids JSON warnings when gpodder.net requests fail with "500
Internal Server" errors.
This commit is contained in:
auouymous 2023-04-02 22:52:37 -06:00
parent 14efcd52df
commit ddbae467ef
1 changed files with 12 additions and 2 deletions

View File

@ -86,8 +86,12 @@ def directory_entry_from_opml(url):
def directory_entry_from_mygpo_json(url):
r = util.urlopen(url)
if not r.ok:
raise Exception('%s: %d %s' % (url, r.status_code, r.reason))
return [DirectoryEntry(d['title'], d['url'], d['logo_url'], d['subscribers'], d['description'])
for d in util.urlopen(url).json()]
for d in r.json()]
class GPodderNetSearchProvider(Provider):
@ -150,7 +154,13 @@ class GPodderNetTagsProvider(Provider):
return directory_entry_from_mygpo_json('http://gpodder.net/api/2/tag/%s/50.json' % urllib.parse.quote(tag))
def get_tags(self):
return [DirectoryTag(d['tag'], d['usage']) for d in util.urlopen('http://gpodder.net/api/2/tags/40.json').json()]
url = 'http://gpodder.net/api/2/tags/40.json'
r = util.urlopen(url)
if not r.ok:
raise Exception('%s: %d %s' % (url, r.status_code, r.reason))
return [DirectoryTag(d['tag'], d['usage']) for d in r.json()]
class SoundcloudSearchProvider(Provider):