X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=data%2Fviews.py;h=bb3b52cca2453e86acd88cb8f39f9a4cbb089f0e;hb=96f8a2539ba4b3dc9dadb0e4403efeeecae2c238;hp=1ca48df046c21ddefd2a04c7c7cb6a4f8b6bea6a;hpb=8e8d2a6c4e4beb9487e9e168d5e43706eea3da1d;p=demoscenemusic.git diff --git a/data/views.py b/data/views.py index 1ca48df..bb3b52c 100644 --- a/data/views.py +++ b/data/views.py @@ -1,12 +1,19 @@ # encoding: utf-8 +from collections import defaultdict from django.shortcuts import render_to_response from django.http import HttpResponse from DemosceneMusic.data.models import Track def home(request): - tracks = Track.objects.all() - return render_to_response('templates/home.html', { 'tracks': tracks }) + tracks = Track.objects.all().annotate().order_by('releases__party', 'trackartist__artist__name', 'name', 'remix') + partyCompoTracks = defaultdict(lambda: defaultdict(list)) + for track in tracks: + for release in track.releases.all(): + partyCompoTracks[release.party][release.compo].append(track) + for party, compoTracks in partyCompoTracks.iteritems(): + partyCompoTracks[party] = dict(compoTracks) + return render_to_response('templates/home.html', {'partyTracks': dict(partyCompoTracks)}) def track(request, trackId): return HttpResponse('Track: %s' % trackId)