=== modified file 'plugins/contextinfo/__init__.py' --- plugins/contextinfo/__init__.py 2010-06-09 17:58:16 +0000 +++ plugins/contextinfo/__init__.py 2010-06-16 18:05:13 +0000 @@ -1112,7 +1112,7 @@ def _lyrics(self): try: l = ex.exaile().lyrics.find_lyrics(self.track) - l = "%s

from %s" % (l[0].replace('\n', '
'), l[1]) + l = "%s

from %s" % (l[1].replace('\n', '
'), l[0]) except: l='No lyrics found' return l === modified file 'plugins/lyricsviewer/__init__.py' --- plugins/lyricsviewer/__init__.py 2010-06-15 17:39:14 +0000 +++ plugins/lyricsviewer/__init__.py 2010-06-16 18:13:52 +0000 @@ -227,9 +227,13 @@ except Exception: raise LyricsNotFoundException self.track_text_buffer.set_text(text_track) - lyrics_found = self.exaile.lyrics.find_all_lyrics(track) + lyrics_found = [self.exaile.lyrics.find_lyrics(track)] + if player.current == track : + self.lyrics_found = lyrics_found + self.update_lyrics_text(player.current, track) + lyrics_found += self.exaile.lyrics.find_all_lyrics( + track,self.lyrics_found[0][2]) except LyricsNotFoundException: - lyrics_found=[] return finally: if player.current==track : === modified file 'xl/lyrics.py' --- xl/lyrics.py 2010-05-12 23:21:59 +0000 +++ xl/lyrics.py 2010-06-16 18:06:55 +0000 @@ -180,9 +180,9 @@ lyrics = lyrics.strip() - return (lyrics, source, url) + return (method.display_name,lyrics, source, url) - def find_all_lyrics(self, track): + def find_all_lyrics(self, track, excluded_method): """ Like find_lyrics but fetches all sources and returns a list of lyrics. @@ -196,9 +196,19 @@ :raise LyricsNotFoundException: when lyrics are not found from all sources. """ - lyrics_found=[] + lyrics_found = [] + methods = self.get_methods() + position = 0 + + for method in methods[:-1]: + if method.name == excluded_method: + break + position += 1 + else: + raise LyricsNotFoundException() - for method in self.get_methods(): + + for method in methods[position+1:]: lyrics = None source = None url = None @@ -215,6 +225,7 @@ raise LyricsNotFoundException() return lyrics_found + class LyricSearchMethod(object): """