from django.shortcuts import render

from .forms import CalculatorForm

OPERATIONS = {
    'add': lambda a, b: a + b,
    'subtract': lambda a, b: a - b,
    'multiply': lambda a, b: a * b,
    'divide': lambda a, b: a / b,
}


def calculator(request):
    result = None
    form = CalculatorForm(request.POST or None)
    if request.method == 'POST' and form.is_valid():
        data = form.cleaned_data
        result = OPERATIONS[data['operation']](data['num1'], data['num2'])
        if result == int(result):
            result = int(result)
    return render(request, 'calculator/index.html', {'form': form, 'result': result})
