Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
    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)