def get(self, mbid): """Return an album track list as JSON. :param mbid: the album's MusicBrainz ID """ mb = MusicbrainzClient() response = yield mb.lookup_release(mbid) release = response['release'] track_list = release['medium-list'][0]['track-list'] tracks = [] for number, track in enumerate(track_list, start=1): recording = track['recording'] tracks.append({ 'id': recording['id'], 'number': number, 'title': recording['title'], 'album': release['title'] }) self.finish(json.dumps(tracks))