X-Git-Url: https://git.yukkurigames.com/?p=mlpccg-meta.git;a=blobdiff_plain;f=meta%2Fviews.py;fp=meta%2Fviews.py;h=a1cf06be9c5b3466152e379c4319112d6d88be1b;hp=bb9759917d34a531f8370006c9236fefc07e8b86;hb=ac0c692e40ad6aca1b28199a4ef9c850fa680427;hpb=a7dfa06c1e3bd3a78b2c4de041ce32727f0487f3 diff --git a/meta/views.py b/meta/views.py index bb97599..a1cf06b 100644 --- a/meta/views.py +++ b/meta/views.py @@ -1,5 +1,9 @@ +import datetime +import difflib +import json from django.shortcuts import render from django.template import RequestContext +from django.http import HttpResponse from meta.models import TournamentModel, RecordModel from mlpccg.CardDb import CARDDB from mlpccg.DeckList import DeckList @@ -23,11 +27,23 @@ def index(request): '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} for record in records if record.decklist.url] + 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) - decklist = DeckList(url=request.POST['url']) label = clustering.predict(decklist) - return render(request, 'rate.html', {}) + 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))