예제 #1
0
def load_debatten(ws):
    sitzungen = {}
    for speech in ws['mediathek']:
        sitz = (speech['wahlperiode'], speech['meeting_nr'])
        if not sitz in sitzungen:
            sitzungen[sitz] = load_sitzung(ws, speech)
        sitzung = sitzungen[sitz]
        log.info("Loading Debatte: %s/%s - %s..." % (
            speech.get('wahlperiode'),
            speech.get('meeting_nr'), 
            speech.get('top_title')))
        debatte = Debatte.query.filter_by(
                sitzung=sitzung,
                source_url=speech.get('top_source_url')
                ).first()
        if debatte is None:
            debatte = Debatte()
            debatte.sitzung = sitzung
            debatte.source_url = speech.get('top_source_url')
        debatte.nummer = speech.get('top_nr')
        debatte.titel = speech.get('top_title')
        debatte.text = speech.get('top_text')
        debatte.pdf_url = speech.get('top_pdf_url_plain')
        debatte.pdf_page = speech.get('top_pdf_url_pages')
        debatte.video_url = speech.get('top_mp4_url')

        db.session.add(debatte)
        db.session.commit()
예제 #2
0
def load_debatten(engine, indexer, sitzung):
    WebTV_Speech = sl.get_table(engine, 'webtv_speech')
    zitate = list(sl.find(engine, WebTV_Speech, wp=str(sitzung.wahlperiode),
        session=str(sitzung.nummer)))
    debatten = dict([(z['item_id'], z) for z in zitate])
    speeches = list(sl.find(engine, sl.get_table(engine, 'speech'),
        wahlperiode=int(sitzung.wahlperiode), sitzung=int(sitzung.nummer)))
    for i, data in debatten.items():
        log.info("Loading  -> Debatte: %s..." % data.get('item_label'))
        debatte = Debatte.query.filter_by(
                sitzung=sitzung,
                nummer=data.get('item_id')
                ).first()
        if debatte is None:
            debatte = Debatte()
        debatte.sitzung = sitzung
        debatte.nummer = data.get('item_id')
        debatte.tops = data.get('item_key')
        debatte.titel = data.get('item_label')
        debatte.text = data.get('item_description')

        db.session.add(debatte)
        db.session.flush()
        indexer.add(debatte)
        
        dzitate = filter(lambda z: z['item_id'] == data['item_id'], zitate)
        reden = load_reden(engine, indexer, debatte, dzitate)
        load_zitate(engine, indexer, debatte, dzitate, speeches, reden)
        db.session.commit()
        indexer.add_many(reden.values())
예제 #3
0
def load_debatten(engine, sitzung):
    WebTV_Speech = sl.get_table(engine, 'webtv_speech')
    zitate = list(sl.find(engine, WebTV_Speech, wp=str(sitzung.wahlperiode),
        session=str(sitzung.nummer)))
    debatten = dict([(z['item_id'], z) for z in zitate])
    speeches = list(sl.find(engine, sl.get_table(engine, 'speech'),
        wahlperiode=int(sitzung.wahlperiode), sitzung=int(sitzung.nummer)))
    for i, data in debatten.items():
        log.info("Loading  -> Debatte: %s..." % data.get('item_label'))
        debatte = Debatte.query.filter_by(
                sitzung=sitzung,
                nummer=data.get('item_id')
                ).first()
        if debatte is None:
            debatte = Debatte()
        debatte.sitzung = sitzung
        debatte.nummer = data.get('item_id')
        debatte.tops = data.get('item_key')
        debatte.titel = data.get('item_label')
        debatte.text = data.get('item_description')

        db.session.add(debatte)
        db.session.flush()

        dzitate = filter(lambda z: z['item_id'] == data['item_id'], zitate)
        load_zitate(engine, debatte, dzitate, speeches)
        db.session.commit()