from django.shortcuts import render
-from meta.models import TournamentModel
+from django.template import RequestContext
+from meta.models import TournamentModel, RecordModel
from mlpccg.CardDb import CARDDB
from mlpccg.DeckList import DeckList
from mlpccg.Clustering import Clustering
def index(request):
tournament_models = TournamentModel.objects.all().order_by('-date')
tournament_data = []
- placements = []
for tournament in tournament_models:
tournament_records = tournament.recordmodel_set.all().order_by('placement')
- tournament_decks = []
- for record in tournament_records:
- decklist = DeckList(name=record.decklist.name, url=record.decklist.url)
- tournament_decks += [decklist]
- if len(decklist.cards) > 0:
- placements += [{'decklist': decklist, 'placement': record.placement}]
-
+ tournament_decks = [DeckList(name=record.decklist.name, url=record.decklist.url) for record in tournament_records]
tournament_data += [{'tournament': tournament, 'decklists': tournament_decks}]
+ records = RecordModel.objects.all()
+ placements = [{'decklist': DeckList(name=record.decklist.name, url=record.decklist.url), 'placement': record.placement} for record in records if record.decklist.url]
clustering = Clustering(records=placements)
ranking = [(int(avg), label, [decklist for decklist in clustering.clusters[label]]) for avg, label in clustering.ranking()]
return render(request, 'index.html', {
'ranking': ranking,
- 'tournaments': tournament_data})
+ 'tournaments': tournament_data},
+ context_instance=RequestContext(request))
+
+def rate(request):
+ records = RecordModel.objects.all()
+ placements = [{'decklist': DeckList(name=record.decklist.name, url=record.decklist.url), 'placement': record.placement} for record in records if record.decklist.url]
+ clustering = Clustering(records=placements)
+ decklist = DeckList(url=request.POST['url'])
+ label = clustering.predict(decklist)
+
+ return render(request, 'rate.html', {})