Пример #1
0
def view(slug, format=None):
    person = Person.query.filter_by(slug=slug).first()
    if person is None:
        abort(404)
    if format == 'json':
        return jsonify(person)
    request.cache_key['modified'] = person.updated_at
    searcher = SolrSearcher(Position, request.args)
    searcher.sort('date')
    searcher.filter('beitraege.person.id', str(person.id))
    pager = Pager(searcher, 'person.view', request.args, slug=person.slug)
    schlagworte = person_schlagworte(person)
    if format == 'json':
        data = person.to_dict()
        data['positionen'] = pager
        data['debatten'] = debatten
        return jsonify(data)
    elif format == 'rss':
        return make_feed(person.name,
                         author=person.name,
                         positionen=pager,
                         debatten=debatten)
    return render_template('person/view.html',
                           person=person,
                           searcher=searcher,
                           pager=pager,
                           schlagworte=schlagworte)
Пример #2
0
def view(wahlperiode, nummer, format=None):
    sitzung = Sitzung.query.filter_by(wahlperiode=wahlperiode,
                                      nummer=nummer).first()
    if sitzung is None:
        abort(404)

    request.cache_key['modified'] = sitzung.updated_at

    searcher = SolrSearcher(Zitat, request.args)
    searcher.filter('sitzung.wahlperiode', sitzung.wahlperiode)
    searcher.filter('sitzung.nummer', sitzung.nummer)
    searcher.add_facet('debatte.titel')
    searcher.add_facet('redner')
    searcher.sort('sequenz', 'asc')
    pager = Pager(searcher,
                  'sitzung.view',
                  request.args,
                  wahlperiode=wahlperiode,
                  nummer=nummer)
    pager.limit = 100
    if format == 'json':
        data = sitzung.to_dict()
        data['results'] = pager
        return jsonify(data)
    return render_template('sitzung/view.html',
                           sitzung=sitzung,
                           pager=pager,
                           searcher=searcher)
Пример #3
0
def index(format=None):
    searcher = SolrSearcher(Ablauf, request.args)
    searcher.sort('date', 'desc')
    searcher.add_facet('initiative')
    searcher.add_facet('klasse')
    searcher.add_facet('stand')
    searcher.add_facet('sachgebiet')
    searcher.add_facet('schlagworte')
    pager = Pager(searcher, 'ablauf.index', request.args)
    if format == 'json':
        return jsonify({'results': pager})
    if not searcher.has_query_or_filter:
        query = Ablauf.query
        query = query.filter(Ablauf.zustimmungsbeduerftig != None)
        query = query.filter(Ablauf.abgeschlossen == False)

        ablaeufe = defaultdict(list)
        for ablauf in query:
            sg = ablauf.sachgebiet or "Sonstige"
            ablaeufe[sg].append(ablauf)
        return render_template('ablauf/index.html',
                searcher=searcher, pager=pager,
                ablaeufe=sorted(ablaeufe.items()))
    return render_template('ablauf/search.html',
            searcher=searcher, pager=pager)
Пример #4
0
def index(format=None):
    searcher = SolrSearcher(Person, request.args)
    searcher.add_facet('rollen.funktion')
    searcher.add_facet('rollen.fraktion')
    searcher.add_facet('berufsfeld')
    pager = Pager(searcher, 'person.index', request.args)
    if format == 'json':
        return jsonify({'results': pager})
    return render_template('person/index.html', searcher=searcher, pager=pager)
Пример #5
0
def index(format=None):
    searcher = SolrSearcher(Person, request.args)
    searcher.add_facet("rollen.funktion")
    searcher.add_facet("rollen.fraktion")
    searcher.add_facet("berufsfeld")
    pager = Pager(searcher, "person.index", request.args)
    if format == "json":
        return jsonify({"results": pager})
    return render_template("person/index.html", searcher=searcher, pager=pager)
Пример #6
0
def view(wahlperiode, nummer, webtv_id, format=None):
    rede = Rede.query.filter_by(webtv_id=webtv_id).first()
    if rede is None:
        abort(404)
    if format == 'json':
        return jsonify(rede)
    debatte_url = url_for('debatte.view',
            wahlperiode=rede.sitzung.wahlperiode,
            nummer=rede.sitzung.nummer,
            debatte=rede.debatte.nummer)
    return redirect(debatte_url + '#rede/' + str(rede.webtv_id))
Пример #7
0
def view(slug, format=None):
    person = Person.query.filter_by(slug=slug).first()
    if person is None:
        abort(404)
    if format == "json":
        return jsonify(person)
    request.cache_key["modified"] = person.updated_at
    searcher = SolrSearcher(Position, request.args)
    searcher.sort("date")
    searcher.filter("beitraege.person.id", str(person.id))
    pager = Pager(searcher, "person.view", request.args, slug=person.slug)
    schlagworte = person_schlagworte(person)
    if format == "json":
        data = person.to_dict()
        data["positionen"] = pager
        data["debatten"] = debatten
        return jsonify(data)
    elif format == "rss":
        return make_feed(person.name, author=person.name, positionen=pager, debatten=debatten)
    return render_template("person/view.html", person=person, searcher=searcher, pager=pager, schlagworte=schlagworte)
Пример #8
0
def view(wahlperiode, nummer, debatte, format=None):
    debatte = Debatte.query.filter_by(nummer=debatte)\
            .join(Sitzung)\
            .filter(Sitzung.wahlperiode == wahlperiode)\
            .filter(Sitzung.nummer == nummer).first()
    if debatte is None:
        abort(404)
    if format == 'json':
        return jsonify(debatte)
    return render_template('debatte/view.html',
            debatte=debatte)
Пример #9
0
def speechmatcher_alignment_get(wp, session):
    engine = etl_engine()
    score, alignment = get_alignment(engine, wp, session)
    align_data = {}
    for align in alignment:
        seq = align.pop('sequence')
        align['matched'] = align['transcript_fp']==align['agenda_fp']
        del align['transcript_fp']
        align_data[seq] = align
    return jsonify({
        'score': score,
        'alignment': align_data
        })
Пример #10
0
def index(format=None):
    searcher = SolrSearcher(Rede, request.args)
    searcher.add_facet('debatte.sitzung.titel')
    searcher.add_facet('zitate.person.name')
    searcher.sort('date', 'desc')
    pager = Pager(searcher, 'sitzung.index', request.args)
    if format == 'json':
        return jsonify({'results': pager})
    if searcher.has_query:
        return render_template('sitzung/reden.html',
                searcher=searcher, pager=pager)
    else:
        sitzungen = Sitzung.query.order_by(Sitzung.date.desc())
        return render_template('sitzung/index.html',
                searcher=searcher, pager=pager,
                sitzungen=sitzungen)
Пример #11
0
def index(format=None):
    searcher = SolrSearcher(Rede, request.args)
    searcher.add_facet('debatte.sitzung.titel')
    searcher.add_facet('zitate.person.name')
    searcher.sort('date', 'desc')
    pager = Pager(searcher, 'sitzung.index', request.args)
    if format == 'json':
        return jsonify({'results': pager})
    if searcher.has_query:
        return render_template('sitzung/reden.html',
                               searcher=searcher,
                               pager=pager)
    else:
        sitzungen = Sitzung.query.order_by(Sitzung.date.desc())
        return render_template('sitzung/index.html',
                               searcher=searcher,
                               pager=pager,
                               sitzungen=sitzungen)
Пример #12
0
def view(wahlperiode, key, format=None):
    ablauf = Ablauf.query.filter_by(wahlperiode=wahlperiode,
                                    key=key).first()
    if ablauf is None:
        abort(404)
    if format == 'json':
        return jsonify(ablauf)
    request.cache_key['modified'] = ablauf.updated_at
    referenzen = defaultdict(set)
    for ref in ablauf.referenzen:
        if ref.dokument.typ == 'plpr' and ref.dokument.hrsg == 'BT':
            continue
        if ref.seiten:
            referenzen[ref.dokument].add(ref.seiten)
        else:
            referenzen[ref.dokument] = referenzen[ref.dokument] or set()
    referenzen = sorted(referenzen.items(), key=lambda (r, s): r.name)
    return render_template('ablauf/view.html',
            ablauf=ablauf, referenzen=referenzen)
Пример #13
0
def view(wahlperiode, nummer, format=None):
    sitzung = Sitzung.query.filter_by(wahlperiode=wahlperiode,
                                      nummer=nummer).first()
    if sitzung is None:
        abort(404)

    request.cache_key['modified'] = sitzung.updated_at

    searcher = SolrSearcher(Zitat, request.args)
    searcher.filter('sitzung.wahlperiode', sitzung.wahlperiode)
    searcher.filter('sitzung.nummer', sitzung.nummer)
    searcher.add_facet('debatte.titel')
    searcher.add_facet('redner')
    searcher.sort('sequenz', 'asc')
    pager = Pager(searcher, 'sitzung.view', request.args,
            wahlperiode=wahlperiode, nummer=nummer)
    pager.limit = 100
    if format == 'json':
        data = sitzung.to_dict()
        data['results'] = pager
        return jsonify(data)
    return render_template('sitzung/view.html',
            sitzung=sitzung, pager=pager, searcher=searcher)