X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fsimafm.py;h=12ca0d5c4a1547bd50f8a7d3c345f02dd08da4fe;hb=7a2f04fb2575f750eec0f02dd9204dfcbbe24222;hp=79184037daa66d71447effd86a48cc7a40d6016f;hpb=c1bda032095902bdcd183c530a9c4de28f3c828a;p=mpd-sima.git diff --git a/sima/lib/simafm.py b/sima/lib/simafm.py index 7918403..12ca0d5 100644 --- a/sima/lib/simafm.py +++ b/sima/lib/simafm.py @@ -276,6 +276,20 @@ class SimaFM(): for track in elem.getiterator(tag='track'): yield str(track.findtext('name')), int(track.attrib.get('rank')) + def get_similartracks(self, track=None, artist=None): + """ + """ + # Construct URL + url = SimaFM.root_url + SimaFM.request.get('track') + self._url = url % (urllib.parse.quote(artist.encode('UTF-8'), safe=''), + urllib.parse.quote(track.encode('UTF-8'), safe='')) + self._fetch() + elem = self.current_element + for trk in elem.getiterator(tag='track'): + yield (str(trk.findtext('artist/name')), + str(trk.findtext('name')), + 100 * float(trk.findtext('match'))) + def get_mbid(self, artist=None): """ """ @@ -291,8 +305,8 @@ class SimaFM(): def run(): test = SimaFM() - for a, m in test.get_similar(artist='Tool'): - pass + for t, a, m in test.get_similartracks(artist='Nirvana', track='Smells Like Teen Spirit'): + print(a, t, m) return if __name__ == '__main__':