Merge pull request #250 from redshodan/get-similar-limit
Add missing limit parameter for track.getSimilar
This commit is contained in:
commit
6fd84421bd
|
@ -2016,13 +2016,17 @@ class Track(_Opus):
|
||||||
|
|
||||||
self._request(self.ws_prefix + '.unlove')
|
self._request(self.ws_prefix + '.unlove')
|
||||||
|
|
||||||
def get_similar(self):
|
def get_similar(self, limit=None):
|
||||||
"""
|
"""
|
||||||
Returns similar tracks for this track on the network,
|
Returns similar tracks for this track on the network,
|
||||||
based on listening data.
|
based on listening data.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
doc = self._request(self.ws_prefix + '.getSimilar', True)
|
params = self._get_params()
|
||||||
|
if limit:
|
||||||
|
params['limit'] = limit
|
||||||
|
|
||||||
|
doc = self._request(self.ws_prefix + '.getSimilar', True, params)
|
||||||
|
|
||||||
seq = []
|
seq = []
|
||||||
for node in doc.getElementsByTagName(self.ws_prefix):
|
for node in doc.getElementsByTagName(self.ws_prefix):
|
||||||
|
|
|
@ -160,6 +160,16 @@ class TestPyLastTrack(PyLastTestCase):
|
||||||
break
|
break
|
||||||
self.assertTrue(found)
|
self.assertTrue(found)
|
||||||
|
|
||||||
|
def test_track_get_similar_limits(self):
|
||||||
|
# Arrange
|
||||||
|
track = pylast.Track("Cher", "Believe", self.network)
|
||||||
|
|
||||||
|
# Act/Assert
|
||||||
|
self.assertEqual(len(track.get_similar(limit=20)), 20)
|
||||||
|
self.assertLessEqual(len(track.get_similar(limit=10)), 10)
|
||||||
|
self.assertGreaterEqual(len(track.get_similar(limit=None)), 23)
|
||||||
|
self.assertGreaterEqual(len(track.get_similar(limit=0)), 23)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main(failfast=True)
|
unittest.main(failfast=True)
|
||||||
|
|
Loading…
Reference in a new issue