Example #1
0
def _do_sync(data, user):
    "Run updates"
    
    resource_id = data.info.application.id.raw
    
    for item in data.result:
        item_id = None
        if 'id' in item.raw:
            item_id = item.id.raw
        dups = _find_duplicates(resource_id, item, user)
        if dups:
            for event in dups:
                try:
                    event.add_nuvius_resource(resource_id, item_id)
                    event.name = item.title.raw
                    if item.date:
                        idate = item.date[0]
                        event.start = datetime(*idate.start.raw[:6])
                        event.end = datetime(*idate.end.raw[:6])
                    event.auto_notify = False
                    event.save()
                except:
                    pass
        else:
            try:
                event = Event()
                event.add_nuvius_resource(resource_id, item_id)
                event.name = item.title.raw
                if item.date:
                    idate = item.date[0]
                    event.start = datetime(*idate.start.raw[:6])
                    event.end = datetime(*idate.end.raw[:6])
                event.auto_notify = False
                event.set_user(user)
                event.save()
            except:
                pass
            
    _clean_missing(resource_id, data.result, user)