#coding=utf-8
from django.shortcuts import render, redirect
import requests
from django.http import JsonResponse


from datetime import datetime,timedelta
import json


from .models import CalendarEvent


from utils.utils import get_currency_exchange_from_nbu
# Create your views here.


def home (request):
	try:
		exchangeRates_dollar, exchangedate_dollar, exchangeRates_euro, exchangedate_euro = get_currency_exchange_from_nbu()
		return render(request, 'home/index.html', context={'exchangeRates_dollar':exchangeRates_dollar, 
													"exchangedate_dollar":exchangedate_dollar,
													'exchangeRates_euro':exchangeRates_euro,
													"exchangedate_euro":exchangedate_euro
													})
	except Exception as error:
		raise error


def add_event(request):
	data = json.loads(request.body)
	eventName = data.get('title')
	dateStart = data.get('start')
	dateEnd = data.get('end')

	# formatted_date_start = datetime.strptime(dateStart, "%Y-%m-%dT%H:%M:%S.%fZ").strftime("%Y-%m-%d")
	# formatted_date_end = datetime.strptime(dateEnd, "%Y-%m-%dT%H:%M:%S.%fZ").strftime("%Y-%m-%d")

	datetime_start = datetime.strptime(dateStart, "%Y-%m-%dT%H:%M:%S.%fZ")
	datetime_end = datetime.strptime(dateEnd, "%Y-%m-%dT%H:%M:%S.%fZ")
	datetime_start += timedelta(days=1)
	datetime_end += timedelta(days=1)
	formatted_date_start = datetime_start.strftime("%Y-%m-%d")
	formatted_date_end = datetime_end.strftime("%Y-%m-%d")

	event = CalendarEvent.objects.create(
		title=eventName,
		start=formatted_date_start,
		end=formatted_date_end
		)
	return JsonResponse({'message': 'success'}, safe=False)

def delete_event(request):
	data = json.loads(request.body)
	eventName = data.get('title')
	dateStart = data.get('start')
	dateEnd = data.get('end')

	# formatted_date_start = datetime.strptime(dateStart, "%Y-%m-%dT%H:%M:%S.%fZ").strftime("%Y-%m-%d")
	# formatted_date_end = datetime.strptime(dateEnd, "%Y-%m-%dT%H:%M:%S.%fZ").strftime("%Y-%m-%d")

	datetime_start = datetime.strptime(dateStart, "%Y-%m-%dT%H:%M:%S.%fZ")
	datetime_end = datetime.strptime(dateEnd, "%Y-%m-%dT%H:%M:%S.%fZ")
	datetime_start += timedelta(days=1)
	datetime_end += timedelta(days=1)
	formatted_date_start = datetime_start.strftime("%Y-%m-%d")
	formatted_date_end = datetime_end.strftime("%Y-%m-%d")
	event = CalendarEvent.objects.get(title=eventName,start=formatted_date_start,end=formatted_date_end)
	event.delete()
	return redirect('home')

def get_events(request):
	events = list(CalendarEvent.objects.all().values('id','title','start','end'))
	return JsonResponse(events, safe=False)