[rhythmbox/wip/hadess/fix-some-deprecated-code] artsearch: Fix warning when track doesn't have an album



commit 5d6bbb69b40bb482919871f20d7e04b1ebec2a0f
Author: Bastien Nocera <hadess hadess net>
Date:   Fri Sep 13 12:26:55 2019 +0200

    artsearch: Fix warning when track doesn't have an album
    
    Don't do a search when we don't have an album defined in the track's
    metadata, we wouldn't know where to save it in our database.
    
    Closes: #1582

 plugins/artsearch/artsearch.py | 8 +++++---
 plugins/artsearch/local.py     | 5 +++++
 2 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/plugins/artsearch/artsearch.py b/plugins/artsearch/artsearch.py
index 5c03dec3c..5e5e3e774 100644
--- a/plugins/artsearch/artsearch.py
+++ b/plugins/artsearch/artsearch.py
@@ -46,9 +46,11 @@ class Search(object):
 
        def next_search(self):
                if len(self.searches) == 0:
-                       key = RB.ExtDBKey.create_storage("album", self.key.get_field("album"))
-                       key.add_field("artist", self.key.get_field("artist"))
-                       self.store.store(key, RB.ExtDBSourceType.NONE, None)
+                       album = self.key.get_field("album")
+                       if album is not None:
+                               key = RB.ExtDBKey.create_storage("album", album)
+                               key.add_field("artist", self.key.get_field("artist"))
+                               self.store.store(key, RB.ExtDBSourceType.NONE, None)
                        return False
 
                search = self.searches.pop(0)
diff --git a/plugins/artsearch/local.py b/plugins/artsearch/local.py
index 074795a76..908345478 100644
--- a/plugins/artsearch/local.py
+++ b/plugins/artsearch/local.py
@@ -150,6 +150,11 @@ class LocalSearch:
                self.file = Gio.file_new_for_uri(location)
 
                self.album = key.get_field("album")
+               if self.album is None:
+                       print("not searching, we don't have an album")
+                       callback(args)
+                       return
+
                self.artists = key.get_field_values("artist")
                self.store = store
                self.callback = callback


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]