@@ -295,18 +295,25 @@ def download_lyrics(artist, title):
295295 lyrlogger .handlers .clear ()
296296 lyrlogger .addHandler (logging .StreamHandler (stream ))
297297 lyrlogger .setLevel (logging .INFO )
298- lt = syncedlyrics .search (
299- f"{ artist } { title } " ,
300- synced_only = True ,
301- providers = config ["lyrics_providers" ],
302- )
298+ try :
299+ lt = syncedlyrics .search (
300+ f"{ artist } { title } " ,
301+ synced_only = True ,
302+ providers = config ["lyrics_providers" ],
303+ )
304+ except Exception :
305+ logger .debug (
306+ "ERROR: syncedlyrics.search threw an exception. Returning None." )
307+ return None
303308 # This is the main logger
304309 # logger.debug("GOT LYRICS")
305310 # logger.debug("-"*10)
306311 # logger.debug(lt)
307312 # logger.debug("-"*10)
308313 if lt is None :
309- lt = ""
314+ logger .debug (
315+ "ERROR: syncedlyrics.search returned None. Returning None." )
316+ return None
310317 lt = lt .replace ("\n " , "" )
311318 lt = lt .split ("[" )
312319 lt = ["[" + x for x in lt if x ]
@@ -330,8 +337,9 @@ def get_new_lyrics(artist, title):
330337 "provider" : None ,
331338 }
332339 lyr = download_lyrics (artist , title )
333- if lyr .lt is None :
334- logger .debug ("No lyrics, returning" )
340+ if lyr is None :
341+ logger .debug ("ERROR: download_lyrics returned None. Returning." )
342+ lyrics = None
335343 return
336344 lyrics ["provider" ] = lyr .provider
337345 for i , line in enumerate (lyr .lt ):
@@ -513,13 +521,15 @@ def update_progressbar(manager, player):
513521 center_text (s , lyrics .get ("max_len" , None ))
514522 if curr_line :
515523 s [curr_line ] = "<b>" + s [curr_line ] + "</b>"
516- tooltip = f"<span variant='title-caps' font_weight='bold'>{ s [0 ]} </span>\n "
517- tooltip += f"{ s [1 ]} \n "
524+ tooltip = f"<span variant='title-caps' font_weight='bold'>{ s [0 ]} </span>"
525+ tooltip += f"\n { s [1 ]} "
518526 # Skip album in tooltip if we don't have it
519527 s [2 ] = s [2 ].strip ()
520528 if s [2 ]:
521- tooltip += f"<i>{ s [2 ]} </i>\n "
522- tooltip += "\n " .join (s [3 :])
529+ tooltip += f"\n <i>{ s [2 ]} </i>"
530+ if len (s ) >= 4 and s [3 ].strip ():
531+ tooltip += "\n "
532+ tooltip += "\n " .join (s [3 :])
523533 write_output (widget_text , gen_class (perc ), tooltip )
524534 # It's important to return True to keep the handler going
525535 last_metadata = metadata
0 commit comments