def quick(self, request): res = Result() context = self._processRequest(request) serobj = context['request'].POST.get('q', False) if serobj: obj = json.loads(serobj) ladder = Ladder.objects.get(pk=obj['ladder']) red = Team.objects.get(pk=obj['red']) blu = Team.objects.get(pk=obj['blu']) games = [] for n in xrange(obj['red_wins']): g = Game(ladder=ladder, red=red, blu=blu) g.save() g.update(red) games.append(g) for n in xrange(obj['blu_wins']): g = Game(ladder=ladder, red=red, blu=blu) g.save() g.update(blu) games.append(g) res.isSuccess = True res.append([g.json() for g in games]) else: res.isError = True res.message = "No query provided" return JsonResponse(res)
def language(self, request): res = Result() if request.method != 'POST': res.isError = True res.message = "Invalid method, use POST" return JsonResponse(res) query = request.POST.get('q', None) if query: try: obj = parse(query) except: res.isError = True res.message = "Could not understand your request" return JsonResponse(res, 500) try: ladder = Ladder.objects.get(name=obj['ladder']) except ObjectDoesNotExist: res.isError = True res.message = "The ladder requested was not found" return JsonResponse(res, 500) ## Red if obj['red'] in ['i', 'me']: try: red = request.user.teams.filter(ladder=ladder)[0] if ladder.teams.filter(name=obj['blu']).count() == 0: res.isError = True res.message = "Your opponent (%s) does not have any teams in the %s ladder" % (obj['blu'], ladder.name) return JsonResponse(res, 500) except: res.isError = True res.message = "You do not have any teams in the %s ladder" % ladder.name return JsonResponse(res, 500) else: try: red = Team.objects.get(name=obj['red']) except ObjectDoesNotExist: res.isError = True res.message = "The team '%s' was not found" % obj['red'] return JsonResponse(res, 500) ## Blue if obj['blu'] in ['i', 'me']: try: blu = request.user.teams.filter(ladder=ladder)[0] if ladder.teams.filter(name=obj['red']).count() == 0: res.isError = True res.message = "Your opponent (%s) does not have any teams in the %s ladder" % (obj['red'], ladder.name) return JsonResponse(res, 500) except: res.isError = True res.message = "You do not have any teams in the %s ladder" % ladder.name return JsonResponse(res, 500) else: try: blu = Team.objects.get(name=obj['blu']) except ObjectDoesNotExist: res.isError = True res.message = "The team '%s' was not found" % obj['blu'] return JsonResponse(res, 500) winner = red if obj['winner'] == 'red' else blu g = Game(red=red, blu=blu, ladder=ladder) g.save() g.update(winner) res.isSuccess = True res.message = g.json() else: res.isError = True res.message = "No query provided" return JsonResponse(res)