Handle HTTP errors in Twitch.get_messages()

master
Nikola Forró 7 years ago
parent 98b7698718
commit 71b6558b9d

@ -153,6 +153,8 @@ class TwitchBot(irc.bot.SingleServerIRCBot):
user_id = config['Twitch'].getint('target_user_id') user_id = config['Twitch'].getint('target_user_id')
since = dateutil.parser.parse(since).date() since = dateutil.parser.parse(since).date()
messages = Twitch(api_url, client_id, log).get_messages(user_id, since) messages = Twitch(api_url, client_id, log).get_messages(user_id, since)
if not messages:
return
for message in messages: for message in messages:
for pattern, action in self.patterns: for pattern, action in self.patterns:
m = pattern.match(message) m = pattern.match(message)

@ -47,11 +47,17 @@ class Twitch(object):
return result return result
def get_messages(self, user_id, since): def get_messages(self, user_id, since):
videos = self._get_videos(user_id) try:
result = [] videos = self._get_videos(user_id)
for video in [v for v in videos if v['date'] >= since]: result = []
for video in [v for v in videos if v['date'] >= since]:
if self.log:
self.log.info('Processing VOD %d (%s)', video['id'], video['title'])
comments = self._get_comments(video['id'])
result.extend(comments)
except requests.exceptions.HTTPError as e:
if self.log: if self.log:
self.log.info('Processing VOD %d (%s)', video['id'], video['title']) self.log.error('Failed to retrieve VOD messages: %s', str(e))
comments = self._get_comments(video['id']) return None
result.extend(comments) else:
return result return result

Loading…
Cancel
Save