from django.shortcuts import render, redirect
import requests as rq

from django.shortcuts import render

ip_dir = 'http://localhost/'

## Vista para iniciar un experimento o redireccionar a show experiment en caso que se encuentre uno activo.
def medition(request):
    if rq.get(ip_dir+'current_state').json()['state']:
        return redirect("show_experiment")

    #Comentado para desactivar el experimento manual
    if request.GET.get("expInit",):
        rq.get(ip_dir+'calibrate/')
        rq.get(ip_dir+'start_exp',request.GET)
        return redirect("show_experiment")
    
    return render(request, 'medition/medition2.html')
    
    #return redirect('home')

## Vista que valida ejecución de un experimento y redirecciona a las vista que muestra detalles del experimento actual.
def show_experiment(request):
    if not rq.get(ip_dir+'current_state').json()['state']:
        return redirect("medition")
    """
        time_option = req_dict["timeOption"] # Options: finite or infinity
        #Para cuando haya que sedimentar
        if time_option == "finite":
            timer_hours   = float(req_dict["horas"])
            timer_minutes = float(req_dict["minutos"])
            timer_seconds = float(req_dict["segundos"])

            timer_in_seconds = timer_hours * 3600 + timer_minutes * 60 + timer_seconds
            remain_time = max(timer_in_seconds - elapsed_time, 0)

            hours   = remain_time // 3600
            minutes = (remain_time % 3600) // 60
            seconds = remain_time % 60

        elif time_option == "infinity":
            total_seconds = elapsed_time
            hours   = total_seconds // 3600
            minutes = (total_seconds % 3600) // 60
            seconds = total_seconds % 60
        """
    return render(request,'medition/show_experiment.html')

## Vista que detiene la ejecución del experimento actual.
def stop_experiment(request):
    id = rq.get(ip_dir+'stop_exp_vito').json()['id']
    if id:
        response = redirect('instance')
        response['Location'] += '?id='+str(id)
        return response
    else:
        return redirect('home')