[gnome-music/wip/mschraal/lastfm-album-scrobble: 2/2] scrobbler: Add album scrobbling



commit 22ff2a0a3632083d3f8560479111ff4cb099670c
Author: Marinus Schraal <mschraal gnome org>
Date:   Wed Jan 10 02:13:57 2018 +0100

    scrobbler: Add album scrobbling
    
    Adds the album name to the scrobbled information if available.

 gnomemusic/scrobbler.py | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)
---
diff --git a/gnomemusic/scrobbler.py b/gnomemusic/scrobbler.py
index 2a81e58..ce11f25 100644
--- a/gnomemusic/scrobbler.py
+++ b/gnomemusic/scrobbler.py
@@ -89,12 +89,23 @@ class LastFmScrobbler(GObject.GObject):
         artist = utils.get_artist_name(media)
         title = utils.get_media_title(media)
 
-        sig = ("api_key{}artist[0]{}methodtrack.scrobblesk{}timestamp[0]"
-               "{}track[0]{}{}").format(
-                   api_key, artist, sk, time_stamp, title, secret)
+        # The album is optional. So only provide it when it is
+        # available.
+        album = media.get_title()
+
+        request_dict = {}
+        if album:
+            sig = "album[0]{}".format(album)
+            request_dict.update({
+                "album[0]": album
+            })
+
+        sig += ("api_key{}artist[0]{}methodtrack.scrobblesk{}"
+                "timestamp[0]{}track[0]{}{}").format(
+                    api_key, artist, sk, time_stamp, title, secret)
 
         api_sig = md5(sig.encode()).hexdigest()
-        request_dict = {
+        request_dict.update({
             "api_key": api_key,
             "method": "track.scrobble",
             "artist[0]": artist,
@@ -102,7 +113,7 @@ class LastFmScrobbler(GObject.GObject):
             "timestamp[0]": time_stamp,
             "sk": sk,
             "api_sig": api_sig
-        }
+        })
 
         try:
             r = requests.post(


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