Example #1
0
def person(slug):
    person = Person.query.filter_by(slug=slug).first()
    if person is None:
        abort(404)
    searcher = SolrSearcher(Position, request.args)
    searcher.sort('date')
    searcher.filter('beitraege.person.id', str(person.id))
    pager = Pager(searcher, 'person', request.args, slug=slug)
    schlagworte = aggregates.person_schlagworte(person)
    debatten = Debatte.query.join(DebatteZitat).join(Zitat).\
            filter(Zitat.person==person).distinct().all()
    return render_template('person_view.html',
            person=person, searcher=searcher, 
            pager=pager, schlagworte=schlagworte,
            debatten=debatten[::-1])
Example #2
0
def person_render(person, format):
    searcher = SolrSearcher(Position, request.args)
    searcher.sort('date')
    searcher.filter('beitraege.person.id', str(person.id))
    pager = Pager(searcher, 'person', request.args, slug=person.slug)
    schlagworte = aggregates.person_schlagworte(person)
    debatten = Debatte.query.join(Zitat).\
            filter(Zitat.person == person).distinct().all()
    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,
            debatten=debatten[::-1])