4 from resultsparser import EventParser
8 self.api_key = '1928a14bdf51369505530949d8b7e1ee'
9 self.url_base = 'http://ws.audioscrobbler.com/2.0/'
11 self.method = 'geo.getevents'
13 def get_events(self, lat, long, distance):
14 """ Retrieve xml and parse into events list """
15 xml = self.get_xml(lat, long, distance)
16 events = EventParser().parse_xml(xml,
19 return self.sort_events(events)
21 def sort_events(self, events):
22 """ Sort gig by distance """
24 events.sort(cmp=self.distance_cmp, key=lambda x: x['distance'])
27 def get_json(self, lat='', long='', distance=''):
28 # testing json results
32 params = urllib.urlencode({'method': self.method,
33 'api_key': self.api_key,
37 'format': self.format})
38 url = '%s?%s' % (self.url_base, params)
39 request = urllib2.Request(url, None)
40 response = urllib2.urlopen(request)
43 def get_xml(self, lat, long, distance):
44 """ Return xml from lastfm """
45 params = urllib.urlencode({'method': self.method,
46 'api_key': self.api_key,
50 response = urllib.urlopen(self.url_base, params)
51 return response.read()
53 def distance_cmp(self, x, y):
54 """ Compare distances for list sort """