Ejemplo n.º 1
0
def problem_new(request):
    if request.method == 'POST':
        form = ProblemForm(request.POST, request.FILES)
        if form.is_valid():
            problem = Problem()
            problem.title = form.cleaned_data['title']
            testcases = form.files.getlist('testcases')
            problem.testcase = len(testcases)/2
            problem.save()
            tc = JUDGE_ROOT+'/testcase/{}'.format(problem.pk)
            if not os.path.exists(tc):
                os.makedirs(tc)
            for f in testcases:
                with open('{}/{}'.format(tc, f.name), 'wb+') as dest:
                    for chunk in f.chunks():
                        dest.write(chunk)
            return redirect('judge:problem_list')
    else:
        form = ProblemForm()
    return render(request, 'judge/problem_new.html', {'form': form})