[rhythmbox] lyrics: don't search for 'unknown' as an artist or title
- From: Jonathan Matthew <jmatthew src gnome org>
- To: svn-commits-list gnome org
- Subject: [rhythmbox] lyrics: don't search for 'unknown' as an artist or title
- Date: Sun, 14 Jun 2009 03:47:06 -0400 (EDT)
commit da948c881531b535af3f5379097baa0df7467092
Author: Jonathan Matthew <jonathan d14n org>
Date: Sun Jun 14 17:32:33 2009 +1000
lyrics: don't search for 'unknown' as an artist or title
plugins/lyrics/lyrics/__init__.py | 47 ++++++++++++++++++++++--------------
1 files changed, 29 insertions(+), 18 deletions(-)
---
diff --git a/plugins/lyrics/lyrics/__init__.py b/plugins/lyrics/lyrics/__init__.py
index 6cb43a1..c7a21f2 100644
--- a/plugins/lyrics/lyrics/__init__.py
+++ b/plugins/lyrics/lyrics/__init__.py
@@ -74,6 +74,16 @@ def create_lyrics_view():
return (vbox, tview.get_buffer(), tview)
def parse_song_data(artist, title):
+
+ # don't search for 'unknown' when we don't have the artist or title information
+ if artist == _("Unknown"):
+ artist = ""
+ if title == _("Unknown"):
+ title = ""
+
+ # convert to lowercase
+ artist = artist.lower()
+ title = title.lower()
# replace ampersands and the like
for exp in LYRIC_ARTIST_REPLACE:
@@ -111,8 +121,8 @@ class LyricGrabber(object):
self.db = db
self.entry = entry
- self.artist = self.db.entry_get(self.entry, rhythmdb.PROP_ARTIST).lower()
- self.title = self.db.entry_get(self.entry, rhythmdb.PROP_TITLE).lower()
+ self.artist = self.db.entry_get(self.entry, rhythmdb.PROP_ARTIST)
+ self.title = self.db.entry_get(self.entry, rhythmdb.PROP_TITLE)
(self.artist, self.title) = parse_song_data(self.artist, self.title)
@@ -129,21 +139,22 @@ class LyricGrabber(object):
if status:
l = rb.Loader()
l.get_url(self.cache_path, callback)
+ elif cache_only:
+ self.callback(_("No lyrics found"))
+ elif self.artist == "" and self.title == "":
+ self.callback(_("No lyrics found"))
else:
- if cache_only:
- self.callback(_("No lyrics found"))
- else:
- def lyric_callback (text):
- if text is not None:
- f = file (self.cache_path, 'w')
- f.write (text)
- f.close ()
- self.callback(text)
- else:
- self.callback(_("No lyrics found"))
-
- parser = LyricsParse.Parser(gconf_keys, self.artist, self.title)
- parser.get_lyrics(lyric_callback)
+ def lyric_callback (text):
+ if text is not None:
+ f = file (self.cache_path, 'w')
+ f.write (text)
+ f.close ()
+ self.callback(text)
+ else:
+ self.callback(_("No lyrics found"))
+
+ parser = LyricsParse.Parser(gconf_keys, self.artist, self.title)
+ parser.get_lyrics(lyric_callback)
class LyricPane(object):
def __init__(self, db, song_info):
@@ -224,8 +235,8 @@ class LyricPane(object):
def build_path(self):
- artist = self.db.entry_get(self.entry, rhythmdb.PROP_ARTIST).lower()
- title = self.db.entry_get(self.entry, rhythmdb.PROP_TITLE).lower()
+ artist = self.db.entry_get(self.entry, rhythmdb.PROP_ARTIST)
+ title = self.db.entry_get(self.entry, rhythmdb.PROP_TITLE)
(artist, title) = parse_song_data(artist, title)
cache_path = build_cache_path(artist, title)
self.cache_path = cache_path
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]