[gnome-music/wip/carlosg/tracker3: 29/39] coregrilo: Add a callback function to writeback




commit 5cf4f728b5e889f7111c895843010b4da3112f25
Author: Jean Felder <jfelder src gnome org>
Date:   Sun Nov 24 15:09:11 2019 +0100

    coregrilo: Add a callback function to writeback

 gnomemusic/coregrilo.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gnomemusic/coregrilo.py b/gnomemusic/coregrilo.py
index b44ad402..3626ce15 100644
--- a/gnomemusic/coregrilo.py
+++ b/gnomemusic/coregrilo.py
@@ -236,11 +236,12 @@ class CoreGrilo(GObject.GObject):
         self._wrappers[source].populate_album_disc_songs(
             media, discnr, callback)
 
-    def writeback(self, media, keys):
+    def writeback(self, media, keys, callback=None):
         """Store the values associated with the keys.
 
         :param Grl.Media media: A Grilo media item
         :param list keys: A list of Grilo metadata keys
+        :param function callback: callback function
         """
         def _store_metadata_cb(source, media, failed_keys, data, error):
             if error is not None:
@@ -248,6 +249,8 @@ class CoreGrilo(GObject.GObject):
                     "Error {}: {}".format(error.domain, error.message))
             if failed_keys:
                 self._log.warning("Unable to update {}".format(failed_keys))
+            if callback:
+                callback()
 
         for wrapper in self._wrappers.values():
             if media.get_source() == wrapper.source.props.source_id:


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