Merge pull request #258 from pylast/fix-user.get_weekly_artist_charts

Fix user.get_weekly_artist_charts
This commit is contained in:
Hugo 2018-04-05 18:28:17 +03:00 committed by GitHub
commit 72cdd8b979
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 37 additions and 4 deletions

View file

@ -1169,8 +1169,15 @@ class _Chartable(object):
seq = []
for node in doc.getElementsByTagName(chart_kind.lower()):
if chart_kind == "artist":
item = chart_type(
_extract(node, "artist"), _extract(node, "name"), self.network)
_extract(node, "name"),
self.network)
else:
item = chart_type(
_extract(node, "artist"),
_extract(node, "name"),
self.network)
weight = _number(_extract(node, "playcount"))
seq.append(TopItem(item, weight))

View file

@ -388,9 +388,10 @@ class TestPyLastUser(PyLastTestCase):
# Arrange
user = self.network.get_user("RJ")
# Act / Assert
# Act
image = user.get_image()
# Assert
self.assertTrue(image.startswith("https://"))
self.assertTrue(image.endswith(".png"))
@ -398,11 +399,36 @@ class TestPyLastUser(PyLastTestCase):
# Arrange
user = self.network.get_user("RJ")
# Act / Assert
# Act
url = user.get_url()
# Assert
self.assertEqual(url, "https://www.last.fm/user/rj")
def test_get_weekly_artist_charts(self):
# Arrange
user = self.network.get_user("bbc6music")
# Act
charts = user.get_weekly_artist_charts()
artist, weight = charts[0]
# Assert
self.assertIsNotNone(artist)
self.assertIsInstance(artist.network, pylast.LastFMNetwork)
def test_get_weekly_track_charts(self):
# Arrange
user = self.network.get_user("bbc6music")
# Act
charts = user.get_weekly_track_charts()
track, weight = charts[0]
# Assert
self.assertIsNotNone(track)
self.assertIsInstance(track.network, pylast.LastFMNetwork)
if __name__ == '__main__':
unittest.main(failfast=True)