Store year and party as a tuple.
[demoscenemusic.git] / data / views.py
1 # encoding: utf-8
2 from collections import defaultdict
3 from django.shortcuts import render_to_response
4 from django.http import HttpResponse
5
6 from DemosceneMusic.data.models import Track
7
8 def home(request):
9         tracks = Track.objects.all().annotate().order_by('releases__party', 'trackartist__artist__name', 'name', 'remix')
10         partyYearCompoTracks = defaultdict(lambda: defaultdict(list))
11         for track in tracks:
12                 for release in track.releases.all():
13                         partyYearCompoTracks[(release.party, release.year)][release.compo].append(track)
14         for partyYear, compoTracks in partyYearCompoTracks.iteritems():
15                 partyYearCompoTracks[partyYear] = dict(compoTracks)
16         return render_to_response('templates/home.html', {'partyTracks': dict(partyYearCompoTracks)})
17
18 def track(request, trackId):
19         return HttpResponse('Track: %s' % trackId)