Lyrics: Fix retries, add debug message.

This commit is contained in:
oddluck 2020-07-21 23:57:34 +00:00
parent 9dba6251a9
commit 9668427a6d

View File

@ -117,9 +117,9 @@ class Lyrics(callbacks.Plugin):
else: else:
return None, None return None, None
def getlyrics(self, query, retries): def getlyrics(self, query, retries=0):
lyrics = None lyrics = None
if retries < 3: while retries < 3:
try: try:
if "lyrics.fandom.com/wiki/" in query: if "lyrics.fandom.com/wiki/" in query:
log.debug("Lyrics: requesting {0}".format(query)) log.debug("Lyrics: requesting {0}".format(query))
@ -131,17 +131,16 @@ class Lyrics(callbacks.Plugin):
query[0].strip(), query[1].strip() query[0].strip(), query[1].strip()
) )
except: except:
retries += 1 pass
self.getlyrics(query, retries)
if lyrics: if lyrics:
lyrics = re.sub(r"(?<!\.|\!|\?)\s+\n", ".", lyrics) lyrics = re.sub(r"(?<!\.|\!|\?)\s+\n", ".", lyrics)
lyrics = re.sub(r"\s+\n", "", lyrics) lyrics = re.sub(r"\s+\n", "", lyrics)
break
else: else:
log.debug("Lyrics: Failed to get lyrics. Retrying...")
retries += 1 retries += 1
self.getlyrics(query, retries) if not lyrics and retries > 2:
else:
log.info("Lyrics: maximum number of retries (3) reached.") log.info("Lyrics: maximum number of retries (3) reached.")
return
return lyrics return lyrics
def lyric(self, irc, msg, args, lyric): def lyric(self, irc, msg, args, lyric):
@ -150,10 +149,9 @@ class Lyrics(callbacks.Plugin):
""" """
title = None title = None
url = None url = None
retries = 0
title, url = self.dosearch(irc, msg.channel, lyric) title, url = self.dosearch(irc, msg.channel, lyric)
if url and title and "lyrics.fandom.com/wiki/" in url: if url and title and "lyrics.fandom.com/wiki/" in url:
lyrics = self.getlyrics(url, retries) lyrics = self.getlyrics(url)
if lyrics: if lyrics:
irc.reply(title + " | " + lyrics, prefixNick=False) irc.reply(title + " | " + lyrics, prefixNick=False)
else: else:
@ -161,7 +159,7 @@ class Lyrics(callbacks.Plugin):
return return
else: else:
if "," in lyric: if "," in lyric:
lyrics = self.getlyrics(lyric, retries) lyrics = self.getlyrics(lyric)
if lyrics: if lyrics:
irc.reply(lyrics, prefixNick=False) irc.reply(lyrics, prefixNick=False)
else: else: