+ 'tournaments': tournament_data},
+ context_instance=RequestContext(request))
+
+def tournaments(request):
+ return HttpResponse(json.dumps([{'name': t.name} for t in TournamentModel.objects.all()]), content_type='application/json')
+
+def rate(request):
+ decklist = DeckList(url=request.POST['url'])
+
+ records = RecordModel.objects.all()
+ placements = [{'decklist': DeckList(name=record.decklist.name, url=record.decklist.url), 'placement': record.placement, 'record': record} for record in records if record.decklist.url]
+ clustering = Clustering(records=placements)
+ label = clustering.predict(decklist)
+
+ similiar = []
+ for placement in placements:
+ for deck in clustering.clusters[label]:
+ if placement['decklist'] == deck:
+ similiar += [(deck, placement['record'])]
+
+ return render(request, 'rate.html', {
+ 'deck': decklist,
+ 'similiar': similiar}, context_instance=RequestContext(request))