def load_rollen(engine, person, data): _RolleSource = sl.get_table(engine, 'rolle') for rdata in sl.find(engine, _RolleSource, fingerprint=data['fingerprint']): rolle = Rolle.query.filter_by(person=person, funktion=rdata.get('funktion'), ressort=rdata.get('ressort'), fraktion=rdata.get('fraktion'), land=rdata.get('land')).first() if rolle is None: rolle = Rolle() rolle.person = person rolle.mdb_id = rdata.get('mdb_id') rolle.status = rdata.get('status') rolle.funktion = rdata.get('funktion') rolle.fraktion = rdata.get('fraktion') rolle.gewaehlt = rdata.get('gewaehlt') rolle.ressort = rdata.get('ressort') rolle.land = rdata.get('land') rolle.austritt = to_date(rdata.get('austritt')) if rdata.get('mdb_id'): rolle.wahlkreis = load_wahlkreis(engine, rolle, data) db.session.add(rolle)
def load_beitrag(engine, indexer, position, data): beitrag = Beitrag() beitrag.seite = data.get('seite') beitrag.art = data.get('art') beitrag.position = position beitrag.person = lazyload_person(engine, indexer, data.get('fingerprint')) beitrag.rolle = Rolle.query.filter_by(person=beitrag.person, funktion=data.get('funktion'), ressort=data.get('ressort'), land=data.get('land')).first() if beitrag.person is not None and beitrag.rolle is None: beitrag.rolle = Rolle() beitrag.rolle.person = beitrag.person beitrag.rolle.funktion = data.get('funktion') beitrag.rolle.ressort = data.get('ressort') beitrag.rolle.land = data.get('land') db.session.add(beitrag.rolle) db.session.add(beitrag)