def get_coverart(self): key = ':'.join((self.username, 'avatar_url')) image = None json_url = 'http://api.soundcloud.com/users/%s.json?consumer_key=%s' \ % (self.username, settings.SOUNDCLOUD_CONSUMER_KEY) resp = fetch_url(json_url) user_info = json.loads(resp.content) return user_info.get('avatar_url', None)
def get_tracks(self, feed): """Get a generator of tracks from a SC user The generator will give you a dictionary for every track it can find for its user.""" json_url = 'http://api.soundcloud.com/users/%(user)s/%(feed)s.json?' \ 'filter=downloadable&consumer_key=%(consumer_key)s' % \ { "user": self.username, "feed": feed, "consumer_key": settings.SOUNDCLOUD_CONSUMER_KEY } res = fetch_url(json_url) response = json.loads(res.content) self._check_error(response) tracks = (track for track in response if track['downloadable']) for track in tracks: # Prefer stream URL (MP3), fallback to download URL url = track.get('stream_url', track['download_url']) + \ '?consumer_key=%(consumer_key)s' \ % {'consumer_key': settings.SOUNDCLOUD_CONSUMER_KEY} yield { 'title': track.get('title', track.get('permalink', 'Unknown track')), 'link': track.get('permalink_url', 'http://soundcloud.com/' + self.username), 'description': track.get('description', 'No description available'), 'url': url, 'guid': track.get('permalink', track.get('id')), 'pubDate': self.parsedate(track.get('created_at', None)), }
def get_tracks(self, feed): """Get a generator of tracks from a SC user The generator will give you a dictionary for every track it can find for its user.""" json_url = 'http://api.soundcloud.com/users/%(user)s/%(feed)s.json?' \ 'filter=downloadable&consumer_key=%(consumer_key)s' % \ { "user": self.username, "feed": feed, "consumer_key": settings.SOUNDCLOUD_CONSUMER_KEY } res = fetch_url(json_url) response = json.loads(res.content) self._check_error(response) tracks = (track for track in response if track['downloadable']) for track in tracks: # Prefer stream URL (MP3), fallback to download URL url = track.get('stream_url', track['download_url']) + \ '?consumer_key=%(consumer_key)s' \ % {'consumer_key': settings.SOUNDCLOUD_CONSUMER_KEY} yield { 'title': track.get('title', track.get('permalink', 'Unknown track')), 'link': track.get('permalink_url', 'http://soundcloud.com/'+self.username), 'description': track.get('description', 'No description available'), 'url': url, 'guid': track.get('permalink', track.get('id')), 'pubDate': self.parsedate(track.get('created_at', None)), }