def import_ical(request, source): if request.method == 'POST': if source == 'url': content = importers.fetch_feed(request.POST['feed_url']) else: content = [rf.read() for rf in request.FILES.values()] if not isinstance(content, list): content = [content] all_events = list() for ical in content: created_events, old_events = importers.import_ical(ical, request.user.usergroup) if created_events: request.user.usergroup.bfs_propagation(created_events, created=True) if old_events: request.user.usergroup.bfs_propagation(old_events) #raise ApiException("invalid file type", 415) all_events = created_events + old_events + all_events return utils.json_response([event.__json__() for event in all_events]) else: raise ApiException("invalid request type. only POST allowed", 405)
def import_ical(request, source): if request.method == 'POST': if source == 'url': content = importers.fetch_feed(request.POST['feed_url']) else: content = [rf.read() for rf in request.FILES.values()] if not isinstance(content, list): content = [content] all_events = list() for ical in content: created_events, old_events = importers.import_ical( ical, request.user.usergroup) if created_events: request.user.usergroup.bfs_propagation(created_events, created=True) if old_events: request.user.usergroup.bfs_propagation(old_events) #raise ApiException("invalid file type", 415) all_events = created_events + old_events + all_events return utils.json_response([event.__json__() for event in all_events]) else: raise ApiException("invalid request type. only POST allowed", 405)
def import_feed(url): content = importers.fetch_feed(url) return content