Example #1
0
def decode(request):
    if request.method == 'POST':
        code = request.POST['code']
        binary_dict = request.POST['dict']
        return render_to_response('decode.html', {'decoded_signals':decoder.decode(code, binary_dict),
                                                  'binary_dict':binary_dict,
                                                  'code':code
        },
            context_instance=RequestContext(request))

    else:
        return redirect('/decode')
Example #2
0
def execute(request):
    if request.method == 'POST':
        form = Signal_info(request.POST)
        if form.is_valid():
            str = request.POST['signals']
            size_original = len(str)
            params = [int(s) for s in str.split()]
            step = int(request.POST['step'])
            params_by_step = params[::step]
            size_by_step = size_list_to_str(params_by_step)
            params_by_step_dict = to_dec(params_by_step)
            temp = encode(params_by_step, params_by_step_dict)
            encoded_params_by_step = temp[0]
            savetofile(encoded_params_by_step, 'encoded')
            binary_dict = temp[1]
            savedict(binary_dict, 'code_dict')
            size_encoded = len(encoded_params_by_step)
            return render_to_response('graphic_answer.html', {'params': params,
                                                              'entropy': round(entropy_unprepared(params), 2),
                                                              'params_by_step': params_by_step,
                                                              'entropy_step': round(entropy(params_by_step_dict, len(params_by_step)), 2),
                                                              'step': step,
                                                              'encoded_params_by_step':encoded_params_by_step,
                                                              'size_original':size_original,
                                                              'size_by_step':size_by_step,
                                                              'size_encoded':size_encoded,
                                                              'dict':binary_dict,
                                                              'or_en':size_original - size_encoded,
                                                              'or_step':size_original - size_by_step,
                                                              'step_en':size_by_step-size_encoded,
                                                              'decoded_signals':decoder.decode(encoded_params_by_step, binary_dict),
                                                              },
                context_instance=RequestContext(request))
    else:
        form = Signal_info()
    return render(request, 'preview.html', {'form': form})