from django.shortcuts import render
import umfrage.models as mo
from django.template import RequestContext

# Create your views here.

def index(request):
	quest = mo.Question.objects.all().order_by('qid')
	count = []
	for q in quest:
		count.append(q)
	maximum = len(count)-1
	return render(request,'index.html',{'entries':quest, 'max':maximum})

def result(request):
	if request.method =='GET':
		result = request.GET["result"]
		result = result.split("*")
		result.pop(0)
		result.reverse()

		quest = mo.Question.objects.all().order_by('qid')

		print(result)

		for i in range(len(result)):

			print(result[i])
			try:

				result[i] = int(result[i])

			except:
				result[i] = -1

		result.reverse()

		a1 = mo.Answer1(answer = result[0])
		a2 = mo.Answer2(answer = result[1])
		a3 = mo.Answer3(answer = result[2])

		

		print("saving:",result)

		if result[0] != -1:
			a1.save()

		if result[1] != -1:
			a2.save()

		if result[2] != -1:	
			a3.save()


		for i in range(len(result)):
			if result[i] == -1:
				result[i] = "Keine Antwort"


		if result[0] != "Keine Antwort":
			result[0] = str(result[0]) + " Stunden"

		if result[1] != "Keine Antwort":
			result[1] = str(result[1]) + " Selfies"

		if result[2] != "Keine Antwort":
			result[2] = str(result[2]) + "  von 10 Mädchen"


		avg1 = get_avg(mo.Answer1)
		avg2 = get_avg(mo.Answer2)
		avg3 = get_avg(mo.Answer3)




		return render(request,'result.html',{'avg1':avg1,'avg2':avg2,'avg3':avg3,'entries':quest,"a1":result[0],"a2":result[1],"a3":result[2]})

def slides(request):
	avg1 = get_avg(mo.Answer1)
	avg2 = get_avg(mo.Answer2)
	avg3 = get_avg(mo.Answer3)


	quest = mo.Question.objects.all().order_by('-qid')
	slides = mo.Slides.objects.all().order_by('-imgid')
	

	sekunden = []
	for i in range(len(slides)):
		t = getattr(slides[i], "sekunden") 
		sekunden.append(t)


	sec = []

	sekunden.reverse()

	
	for i in range(len(sekunden)):

		if i == 0:
				sec.append(sekunden[0] + 4)

		else:
			sec.append(sekunden[i] + sum(sekunden[0:i]) + 4)
			

	vt = sec
	vt = vt[0:len(vt)-1]
	vt.insert(0,0)



	total_sek = max(sec)+2




	return render(request,'slides.html',{'total':total_sek,'slides':slides,'sek':sec, 'vt':vt, 'avg1':avg1,'avg2':avg2,'avg3':avg3,'entries':quest})



def get_avg(answer):
	aa1 = answer.objects.all()
	avg = []
	for i in aa1:
		ans = getattr(i,"answer")
		avg.append(ans)

	avg = sum(avg)/len(avg)
	avg = round(avg,0)
	avg = int(avg)

	return avg


def handler404(request, *args, **argv):
    response = render_to_response('404.html', {},
                                  context_instance=RequestContext(request))
    response.status_code = 404
    return response


def handler500(request, *args, **argv):
    response = render_to_response('500.html', {},
                                  context_instance=RequestContext(request))
    response.status_code = 500
    return response