Add album for a user's recent tracks and artist tracks, closes #69
This commit is contained in:
parent
896e248909
commit
a38f3b485c
|
@ -977,7 +977,7 @@ class SessionKeyGenerator(object):
|
|||
TopItem = collections.namedtuple("TopItem", ["item", "weight"])
|
||||
SimilarItem = collections.namedtuple("SimilarItem", ["item", "match"])
|
||||
LibraryItem = collections.namedtuple("LibraryItem", ["item", "playcount", "tagcount"])
|
||||
PlayedTrack = collections.namedtuple("PlayedTrack", ["track", "playback_date", "timestamp"])
|
||||
PlayedTrack = collections.namedtuple("PlayedTrack", ["track", "album", "playback_date", "timestamp"])
|
||||
LovedTrack = collections.namedtuple("LovedTrack", ["track", "date", "timestamp"])
|
||||
ImageSizes = collections.namedtuple("ImageSizes", ["original", "large", "largesquare", "medium", "small", "extralarge"])
|
||||
Image = collections.namedtuple("Image", ["title", "url", "dateadded", "format", "owner", "sizes", "votes"])
|
||||
|
@ -2964,9 +2964,10 @@ class User(_BaseObject):
|
|||
title = _extract(track, "name")
|
||||
artist = _extract(track, "artist")
|
||||
date = _extract(track, "date")
|
||||
album = _extract(track, "album")
|
||||
timestamp = track.getElementsByTagName("date")[0].getAttribute("uts")
|
||||
|
||||
seq.append(PlayedTrack(Track(artist, title, self.network), date, timestamp))
|
||||
seq.append(PlayedTrack(Track(artist, title, self.network), album, date, timestamp))
|
||||
|
||||
return seq
|
||||
|
||||
|
@ -3096,9 +3097,10 @@ class User(_BaseObject):
|
|||
title = _extract(track, "name")
|
||||
artist = _extract(track, "artist")
|
||||
date = _extract(track, "date")
|
||||
album = _extract(track, "album")
|
||||
timestamp = track.getElementsByTagName("date")[0].getAttribute("uts")
|
||||
|
||||
seq.append(PlayedTrack(Track(artist, title, self.network), date, timestamp))
|
||||
seq.append(PlayedTrack(Track(artist, title, self.network), album, date, timestamp))
|
||||
|
||||
return seq
|
||||
|
||||
|
|
|
@ -513,6 +513,28 @@ class TestPyLast(unittest.TestCase):
|
|||
self.assertNotIsInstance(loved, str)
|
||||
|
||||
|
||||
def test_album_in_recent_tracks(self):
|
||||
# Arrange
|
||||
lastfm_user = self.network.get_user(self.username)
|
||||
|
||||
# Act
|
||||
track = lastfm_user.get_recent_tracks(limit = 2)[0] # 2 to ignore now-playing
|
||||
|
||||
# Assert
|
||||
self.assertTrue(hasattr(track, 'album'))
|
||||
|
||||
|
||||
def test_album_in_artist_tracks(self):
|
||||
# Arrange
|
||||
lastfm_user = self.network.get_user(self.username)
|
||||
|
||||
# Act
|
||||
track = lastfm_user.get_artist_tracks(artist = "Test Artist")[0]
|
||||
|
||||
# Assert
|
||||
self.assertTrue(hasattr(track, 'album'))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
# For quick testing of a single case (eg. test = "test_scrobble")
|
||||
|
|
Loading…
Reference in a new issue