Exemple #1
0
def calendar():
    from hashlib import md5
    #  Calendar
    cal = Calendar()
    with open('calendars.cfg') as f:
        c = f.readline()
        events = []
        while c:
            cid, cname = c.split(',')
            events += cal.get_events(cid.strip(), cname.strip())
            c = f.readline()
    # Remove duplicates, only for 2 cals
    single_events = {}
    for e in events:
        key = ''
        if e['name']:
            key += e['name'].encode('ascii', 'ignore')
        if e['start']:
            key += e['start'].encode('ascii', 'ignore')
        key = md5(key).hexdigest()
        if key not in single_events:
            single_events[key] = e
        else:
            single_events[key]['calendar'] = 'all'
    
    events = sorted(single_events.values(), key=lambda event: event['start'])
    data = { 'events': events }

    res = make_response(json.dumps(data))
    res.mimetype = 'application/json'
    res.headers['Access-Control-Allow-Origin'] = '*'
    return res