import ics
import json
import requests
from datetime import datetime


def convert(cal, cal_conf):
    data = []
    for i, e in enumerate(cal.events):
        e_dict = {
            'title': e.name,
            'username': cal_conf["title"],
            'user_id': cal_conf["id"],
            'event_id': f"{cal_conf['id']}_{i}",
            'start_date': str(e.begin),
            'end_date': str(e.end),
            'labels': cal_conf["title"],
            'label_ids': cal_conf["id"],
            'location': e.location,
            'event_text': e.description,
            'tclr': cal_conf["t_colour"],
            'clr': cal_conf["colour"],
            'all_day': 0,
            'status_id': 2
        }

        data.append(e_dict)

    return data


def convert_url(cal_conf):
    cal = ics.Calendar(requests.get(cal_conf["url"]).text)
    return convert(cal, cal_conf)