@@ -290,17 +290,28 @@ def update_metadata(player, metadata, manager):
290290
291291def download_lyrics (artist , title ):
292292 stream = io .StringIO ()
293- logger = syncedlyrics .logger
294- logger .propagate = False
295- logger .handlers .clear ()
296- logger .addHandler (logging .StreamHandler (stream ))
297- logger .setLevel (logging .INFO )
293+ lyrlogger = syncedlyrics .logger
294+ lyrlogger .propagate = False
295+ lyrlogger .handlers .clear ()
296+ lyrlogger .addHandler (logging .StreamHandler (stream ))
297+ lyrlogger .setLevel (logging .INFO )
298298 lt = syncedlyrics .search (
299299 f"{ artist } { title } " ,
300300 allow_plain_format = False ,
301301 providers = config ["lyrics_providers" ],
302302 )
303- lt = lt .split ("\n " )
303+ # This is the main logger
304+ # logger.debug("GOT LYRICS")
305+ # logger.debug("-"*10)
306+ # logger.debug(lt)
307+ # logger.debug("-"*10)
308+ lt = lt .replace ("\n " , "" )
309+ lt = lt .split ("[" )
310+ lt = ["[" + x for x in lt if x ]
311+ # logger.debug("SPLITTING")
312+ # logger.debug("-"*10)
313+ # logger.debug(lt)
314+ # logger.debug("-"*10)
304315 provider = stream .getvalue ().split ("on " )[1 ].strip ()
305316 stream .close ()
306317 SyncedLyrics = namedtuple ("SyncedLyrics" , ["lt" , "provider" ])
@@ -313,13 +324,14 @@ def get_new_lyrics(artist, title):
313324 "secs" : [0 ],
314325 "text" : ["[INTRO]" ],
315326 "last_ix" : - 1 ,
316- "max_len" : 7 ,
327+ "max_len" : 0 ,
317328 "provider" : None ,
318329 }
319330 lyr = download_lyrics (artist , title )
320331 if lyr .lt is None :
321332 logger .debug ("No lyrics, returning" )
322333 return
334+ lyrics ["provider" ] = lyr .provider
323335 for i , line in enumerate (lyr .lt ):
324336 m = re .match (r"\[(.*)\](.*)" , line )
325337 if not m :
@@ -330,25 +342,22 @@ def get_new_lyrics(artist, title):
330342 if len (timing2 ) != 2 :
331343 logger .debug (f"ERROR: timing2={ timing2 } is not of length 2" )
332344 continue
333- if not timing2 [0 ].isnumeric ():
334- logger .debug (f"ERROR: timing2[0]={ timing2 [0 ]} is not numeric" )
335- continue
336- if not timing2 [1 ].isnumeric ():
337- logger .debug (f"ERROR: timing2[1]={ timing2 [1 ]} is not numeric" )
345+ try :
346+ secs = int (timing2 [0 ]) * 60.0 + float (timing2 [1 ])
347+ except ValueError :
348+ logger .debug (f"ERROR: ValueError while converting timing2={ timing2 } to seconds" )
338349 continue
339- secs = int (timing2 [0 ]) * 60.0 + float (timing2 [1 ])
340350 # get lyrics text
341351 text = m .group (2 ).strip ()
342352 if text == "" :
343353 text = "[INTERMISSION]"
344354 lyrics ["secs" ].append (secs )
345355 lyrics ["text" ].append (text )
356+ lyrics ["max_len" ] = max (lyrics ["max_len" ], len (text ))
346357 # DEBUG
347- logger .debug (i , line , "->" , "[" + str (secs ) + "] " , text )
358+ logger .debug (str ( i ) + str ( line ) + "->" + "[" + str (secs ) + "] " + text )
348359 lyrics ["text" ].append ("[OUTRO]" )
349360 lyrics ["secs" ].append (lyrics ["secs" ][- 1 ] + 1 )
350- lyrics ["max_len" ] = max ([len (x ) for x in lyrics ["text" ]])
351- lyrics ["provider" ] = lyr .provider
352361
353362
354363def left_text (s ):
@@ -471,7 +480,10 @@ def update_progressbar(manager, player):
471480 if lyrics :
472481 ll = lyrics .get ("max_len" , 3 )
473482 s .append ("-" * ll )
474- s .append ("[" + lyrics .get ("provider" , "" )+ "]" )
483+ provider = lyrics .get ("provider" ,"" )
484+ if provider is None :
485+ provider = "NO PROVIDER"
486+ s .append ("[" + provider + "]" )
475487
476488 # DEBUG
477489 # print(f"lyrics['secs']={lyrics['secs']}")
@@ -559,6 +571,8 @@ def main():
559571 logging .getLogger ("urllib3" ).setLevel (loglevel )
560572 logging .getLogger ("syncedlyrics" ).setLevel (loglevel )
561573
574+ logging .getLogger ("syncedlyrics" ).setLevel (loglevel )
575+
562576 # Log the sent command line arguments
563577 logger .info ("I was called" )
564578 logger .debug ("Arguments received {}" .format (vars (arguments )))
0 commit comments