import urllib.request
from icalendar import Calendar, Event
from datetime import datetime, timedelta
from pytz import UTC

import services

ics_file = 'https://trello.com/calendar/5c46ec1decc0d04401b52cbd/5c4eb42bd47fc873fb96fffe/c66cc2f4f649ba14916b03d0c53652c9.ics'

def get_schedule():
    url = urllib.request.urlopen(ics_file)
    gcal = Calendar.from_ical(url.read())

    data = []
    for component in gcal.walk():
        if component.name == "VEVENT":
            # start = component.get('dtstart').dt + timedelta(hours=7)
            start = component.get('dtstart').dt
            
            if start.hour >= 18:
                start = start - timedelta(hours=12)

            tmp = {
                'uid' : str(component.get('uid')),
                'summary' : str(component.get('summary')),
                'start' : start
            }

            data.append(tmp)

    services.clear_schedule()
    services.save_schedule_batch(data)

if __name__ == '__main__':
    get_schedule()    

