]> jfr.im git - irc/rizon/acid.git/blob - pyva/pyva/src/main/python/internets/api/lastfm.py
Split pyva plugin into pyva.core and pyva.pyva
[irc/rizon/acid.git] / pyva / pyva / src / main / python / internets / api / lastfm.py
1 import urllib
2 from feed import get_json
3
4 class LastFm(object):
5 def __init__(self, key):
6 self.api_key = key
7
8 def get_data(self, method, **kwargs):
9 url = 'http://ws.audioscrobbler.com/2.0/?method=%s&api_key=%s&format=json&' % (method, self.api_key)
10 url += urllib.urlencode(kwargs)
11 return get_json(url)
12
13 def get_user(self, username):
14 return self.get_data('user.getinfo', user=username)
15
16 def get_recent_tracks(self, username, limit=5):
17 return self.get_data('user.getrecenttracks', user=username, limit=limit)
18
19 def get_top_tracks(self, username, limit=5):
20 return self.get_data('user.gettoptracks', user=username, limit=limit)
21
22 def get_top_artists(self, username, limit=5):
23 return self.get_data('user.gettopartists', user=username, limit=limit)