[banshee] Last.fm: add logging for ignored tracks
- From: Alexander Kojevnikov <alexk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [banshee] Last.fm: add logging for ignored tracks
- Date: Mon, 20 Aug 2012 03:26:24 +0000 (UTC)
commit b058fa7e6496983822f6a446298f4e75f497f902
Author: Phil Trimble <PhilTrimble gmail com>
Date: Sat Jul 21 04:02:32 2012 -0500
Last.fm: add logging for ignored tracks
Adds informational logging for ignored tracks from last.fm. Also
cleans up formatting from previous commit in LastFmRequest.
Signed-off-by: Alexander Kojevnikov <alexk gnome org>
.../Lastfm/Lastfm/AudioscrobblerConnection.cs | 27 ++++++++++++++++++++
src/Libraries/Lastfm/Lastfm/LastfmRequest.cs | 3 +-
2 files changed, 29 insertions(+), 1 deletions(-)
---
diff --git a/src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs b/src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs
index 3fc15de..fb6e214 100644
--- a/src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs
+++ b/src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs
@@ -274,6 +274,16 @@ namespace Lastfm
var scrobbles_attr = (JsonObject)scrobbles["@attr"];
Log.InformationFormat ("Audioscrobbler upload succeeded: {0} accepted, {1} ignored",
scrobbles_attr["accepted"], scrobbles_attr["ignored"]);
+
+ if (nb_tracks_scrobbled > 1) {
+ var scrobble_array = (JsonArray)scrobbles["scrobble"];
+ foreach (JsonObject scrobbled_track in scrobble_array) {
+ LogIfIgnored (scrobbled_track);
+ }
+ } else {
+ var scrobbled_track = (JsonObject)scrobbles["scrobble"];
+ LogIfIgnored (scrobbled_track);
+ }
} catch (Exception) {
Log.Information ("Audioscrobbler upload succeeded but unknown response received");
Log.Debug ("Response received", response.ToString ());
@@ -289,6 +299,23 @@ namespace Lastfm
}
}
+ private void LogIfIgnored (JsonObject scrobbled_track)
+ {
+ var ignoredMessage = (JsonObject)scrobbled_track["ignoredMessage"];
+
+ if (Convert.ToInt32 (ignoredMessage["code"]) == 0) {
+ return;
+ }
+
+ var track = (JsonObject)scrobbled_track["track"];
+ var artist = (JsonObject)scrobbled_track["artist"];
+ var album = (JsonObject)scrobbled_track["album"];
+
+ Log.InformationFormat ("Track {0} - {1} (on {2}) ignored by Last.fm, reason: {3}",
+ artist["#text"], track["#text"], album["#text"],
+ ignoredMessage["#text"]);
+ }
+
public void NowPlaying (string artist, string title, string album, double duration,
int tracknum)
{
diff --git a/src/Libraries/Lastfm/Lastfm/LastfmRequest.cs b/src/Libraries/Lastfm/Lastfm/LastfmRequest.cs
index e22dc4d..dd20bff 100644
--- a/src/Libraries/Lastfm/Lastfm/LastfmRequest.cs
+++ b/src/Libraries/Lastfm/Lastfm/LastfmRequest.cs
@@ -251,7 +251,8 @@ namespace Lastfm
return sb.ToString ();
}
- private void SetResponseString () {
+ private void SetResponseString ()
+ {
if (response_string == null) {
using (StreamReader sr = new StreamReader (response_stream)) {
response_string = sr.ReadToEnd ();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]