def top10_torrent_groups(request): count = request.GET.get('count', 10) what_client = get_what_client(request) top10 = what_client.request('top10', limit=100)['response'] group_set = set() results = [] for torrent in top10[0]['results']: if torrent['groupId'] in group_set: continue if torrent['groupCategory'] != 1: continue group_set.add(torrent['groupId']) results.append({ 'id': torrent['groupId'], 'joined_artists': html_unescape(torrent['artist']), 'name': html_unescape(torrent['groupName']), 'year': torrent['groupYear'], 'wiki_image': get_image_cache_url(torrent['wikiImage']), }) if len(results) == count: break torrents_have = get_torrent_groups_have(t['id'] for t in results) for result in results: result.update(torrents_have[result['id']]) return results
def get_torrent_group(request, group_id): try: if 'HTTP_X_REFRESH' in request.META: raise WhatTorrentGroup.DoesNotExist() torrent_group = WhatTorrentGroup.objects.get(id=group_id) except WhatTorrentGroup.DoesNotExist: what_client = get_what_client(request) torrent_group = WhatTorrentGroup.update_from_what(what_client, group_id) data = get_torrent_group_dict(torrent_group) data.update(get_torrent_groups_have([torrent_group.id], True)[torrent_group.id]) return data