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)
Example #2
0
    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)
Example #3
0
    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)),
            }