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])
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])