Example #1
0
def diffrecursive_submit(request):
    # Initialize data array and some default values.
    data = {}
    data['diffrecursive_form'] = forms.DiffRecursiveUploadForm()
    data['diffrecursive_success'] = False
    data['diffrecursive_error_message'] = ''
    if request.method == 'POST':
        form = forms.DiffRecursiveUploadForm(request.POST, request.FILES)
        if form.is_valid():
            try:
                controllers.DiffRecursiveMission.validate_patch(form.cleaned_data['diff'].read())
                controllers.set_mission_completed(request.user.get_profile(), 'diffpatch_diffrecursive')
                data['diffrecursive_success'] = True
            except controllers.IncorrectPatch, e:
                data['diffrecursive_error_message'] = str(e)
        data['diffrecursive_form'] = form
Example #2
0
def patchsingle_submit(request):
    # Initialize data array and some default values.
    data = {}
    data['patchsingle_form'] = forms.PatchSingleUploadForm()
    data['patchsingle_success'] = False
    data['patchsingle_error_message'] = ''
    if request.method == 'POST':
        form = forms.PatchSingleUploadForm(request.POST, request.FILES)
        if form.is_valid():
            if form.cleaned_data['patched_file'].read() == open(controllers.PatchSingleFileMission.NEW_FILE).read():
                controllers.set_mission_completed(request.user.get_profile(), 'diffpatch_patchsingle')
                data['patchsingle_success'] = True
            else:
                data['patchsingle_error_message'] = 'The file did not match the contents it should have.'
        data['patchsingle_form'] = form
    return single_file_patch(request, data)
Example #3
0
def diffrecursive_submit(request):
    # Initialize data array and some default values.
    data = {}
    data['diffrecursive_form'] = forms.DiffRecursiveUploadForm()
    data['diffrecursive_success'] = False
    data['diffrecursive_error_message'] = ''
    if request.method == 'POST':
        form = forms.DiffRecursiveUploadForm(request.POST, request.FILES)
        if form.is_valid():
            try:
                controllers.DiffRecursiveMission.validate_patch(
                    form.cleaned_data['diff'].read())
                controllers.set_mission_completed(request.user.get_profile(),
                                                  'diffpatch_diffrecursive')
                data['diffrecursive_success'] = True
            except controllers.IncorrectPatch, e:
                data['diffrecursive_error_message'] = str(e)
        data['diffrecursive_form'] = form
Example #4
0
def patchsingle_submit(request):
    # Initialize data array and some default values.
    data = {}
    data['patchsingle_form'] = forms.PatchSingleUploadForm()
    data['patchsingle_success'] = False
    data['patchsingle_error_message'] = ''
    if request.method == 'POST':
        form = forms.PatchSingleUploadForm(request.POST, request.FILES)
        if form.is_valid():
            if form.cleaned_data['patched_file'].read() == open(
                    controllers.PatchSingleFileMission.NEW_FILE).read():
                controllers.set_mission_completed(request.user.get_profile(),
                                                  'diffpatch_patchsingle')
                data['patchsingle_success'] = True
            else:
                data[
                    'patchsingle_error_message'] = 'The file did not match the contents it should have.'
        data['patchsingle_form'] = form
    return single_file_patch(request, data)
Example #5
0
def patchrecursive_submit(request):
    # Initialize data array and some default values.
    data = {}
    data['patchrecursive_form'] = forms.PatchRecursiveUploadForm()
    data['patchrecursive_success'] = False
    wrong_answers_present = False
    if request.method == 'POST':
        form = forms.PatchRecursiveUploadForm(request.POST)
        if form.is_valid():
            for key, value in controllers.PatchRecursiveMission.ANSWERS.iteritems():
                if form.cleaned_data[key] != value:
                    data['patchrecursive_%s_error_message' % key] = 'This answer is incorrect.'
                    wrong_answers_present = True
                else:
                    data['patchrecursive_%s_error_message' % key] = ''
            if not wrong_answers_present:
                controllers.set_mission_completed(request.user.get_profile(), 'diffpatch_patchrecursive')
                data['patchrecursive_success'] = True
        data['patchrecursive_form'] = form
    return recursive_patch(request, data)
Example #6
0
def patchrecursive_submit(request):
    # Initialize data array and some default values.
    data = {}
    data['patchrecursive_form'] = forms.PatchRecursiveUploadForm()
    data['patchrecursive_success'] = False
    wrong_answers_present = False
    if request.method == 'POST':
        form = forms.PatchRecursiveUploadForm(request.POST)
        if form.is_valid():
            for key, value in controllers.PatchRecursiveMission.ANSWERS.iteritems(
            ):
                if form.cleaned_data[key] != value:
                    data['patchrecursive_%s_error_message' %
                         key] = 'This answer is incorrect.'
                    wrong_answers_present = True
                else:
                    data['patchrecursive_%s_error_message' % key] = ''
            if not wrong_answers_present:
                controllers.set_mission_completed(request.user.get_profile(),
                                                  'diffpatch_patchrecursive')
                data['patchrecursive_success'] = True
        data['patchrecursive_form'] = form
    return recursive_patch(request, data)