def persist_events(events): db.delete(Event.all()) talk_abstracts_soup = BeautifulSoup(urlfetch.fetch(talk_abstracts_url).content) for event in events: speaker, title = get_speaker_and_title(event) e = Event() e.id = get_id(event) e.speaker, e.title = get_speaker_and_title(event) e.duration = get_duration(event) e.location = str(get_location(event)) e.start_time = get_start_time(event) e.day = e.start_time.date() e.abstract = '' element = talk_abstracts_soup.find(text=title) if element: element = element.parent.parent.nextSibling while not unicode(element).startswith('<hr'): e.abstract += unicode(element) element = element.nextSibling e.put()