Beispiel #1
0
def submitcode(request):
    if request.method == 'POST':
        source_code = SourceCodeForm(request.POST)
        if source_code.is_valid():
            data = source_code.cleaned_data
            cid = int(data['cid'])
            if cid != 0:
                contest = get_object_or_404(Contest, cid=cid)
                now = timezone.now()
                st = contest.start_time
                ed = contest.end_time
                print now, st, ed
                if st > now:
                    return printError('Contest Not Start')
                if now > ed:
                    return printError('Contest alreadly finished')

            submission = Submission(user=request.user,
                                    cid=data['cid'],
                                    pid_id=data['pid'],
                                    code=data['code'],
                                    language=data['language'],
                                    submited_time=datetime.now(),
                                    status=0,
                                    judge_result='Pending',
                                    code_length=len(data['code']))
            submission.code_length = len(submission.code)
            submission.save()

            problem = Problem.objects.get(pid=data['pid'])
            problem.submited += 1
            problem.save()

            user = Handle.objects.get(user=request.user)
            user.submited += 1
            user.save()

            if int(data['cid']) != 0:
                return HttpResponseRedirect('/contest/' + str(data['cid']) +
                                            '/submission')

    return HttpResponseRedirect('/submission/1')