=== 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):
"""