X-Git-Url: https://git.yukkurigames.com/?p=mlpccg-meta.git;a=blobdiff_plain;f=meta%2Fviews.py;h=bb9759917d34a531f8370006c9236fefc07e8b86;hp=fc1a7afa7c211ab561f8339e0a92f6c981bd58c8;hb=22a94820738824527277e21f2f37bc77638e12bc;hpb=eef1965dcc0281ff5a0cf7bba05b6b79f79efaa0 diff --git a/meta/views.py b/meta/views.py index fc1a7af..bb97599 100644 --- a/meta/views.py +++ b/meta/views.py @@ -1,5 +1,6 @@ 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 @@ -7,21 +8,26 @@ 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', {})