def list_issues(): cur = issues.find() data = paginate_cursor(cur) add_motions(data['results']) return jsonify(data)
def update_issue(id): issue = request.json issue['_id'] = ObjectId(id) validate_issue(issue) issues.save(issue) return jsonify(issue)
def motions_index(): q = request.args.get("q", "").strip() query = {} if len(q): regex = ".*%s.*" % q query = {"$or": [{"text": {"$regex": regex}}, {"title": {"$regex": regex}}]} cur = motions.find(query, {"vote_events.votes": False}) data = paginate_cursor(cur) return jsonify(data)
def motions_index(): q = request.args.get('q', '').strip() query = {} if len(q): regex = '.*%s.*' % q query = {'$or': [{'text': {'$regex': regex}}, {'title': {'$regex': regex}}]} cur = motions.find(query, {'vote_events.votes': False}) data = paginate_cursor(cur) return jsonify(data)
def create_issue(): issue = request.json if '_id' in issue: del issue['_id'] validate_issue(issue) issue_id = issues.insert(issue) issue['_id'] = issue_id return jsonify(issue, status=201)
def aggregate_get(): blocs = request.args.getlist("bloc") motion_args = request.args.getlist("motion") filters = {} for criterion in request.args.getlist("filter"): if not ":" in criterion: continue field, value = criterion.split(":", 1) filters[field] = value aggregates = generate_aggregate(blocs, motion_args, filters) data = {"request": {"blocs": blocs, "filters": filters, "motions": motion_args}, "aggregate": aggregates} return jsonify(data)
def stances_get(): blocs = request.args.getlist("bloc") issue_args = request.args.getlist("issue") filters = {} for criterion in request.args.getlist("filter"): if not ":" in criterion: continue field, value = criterion.split(":", 1) filters[field] = value stances = generate_stances(blocs, issue_args, filters) data = { "request": {"blocs": blocs, "filters": filters, "issues": issue_args}, "stances": stances, "num_stances": len(stances), } return jsonify(data)
def aggregate_get(): blocs = request.args.getlist('bloc') motion_args = request.args.getlist('motion') filters = {} for criterion in request.args.getlist('filter'): if not ':' in criterion: continue field, value = criterion.split(':', 1) filters[field] = value aggregates = generate_aggregate(blocs, motion_args, filters) data = { 'request': { 'blocs': blocs, 'filters': filters, 'motions': motion_args }, 'aggregate': aggregates } return jsonify(data)
def stances_get(): blocs = request.args.getlist('bloc') issue_args = request.args.getlist('issue') filters = {} for criterion in request.args.getlist('filter'): if not ':' in criterion: continue field, value = criterion.split(':', 1) filters[field] = value stances = generate_stances(blocs, issue_args, filters) data = { 'request': { 'blocs': blocs, 'filters': filters, 'issues': issue_args }, 'stances': stances, 'num_stances': len(stances) } return jsonify(data)
def persons_get(id): obj = persons.find_one({'id': id}) obj = obj_or_404(obj) return jsonify(obj)
def persons_index(): cur = persons.find({}) data = paginate_cursor(cur) return jsonify(data)
def parties_get(id): obj = parties.find_one({'id': id}) obj = obj_or_404(obj) return jsonify(obj)
def vote_events_get(identifier): obj = vote_events.find_one({'identifier': identifier}) obj = obj_or_404(obj) return jsonify(obj)
def vote_events_index(): cur = vote_events.find({}, {'votes': False}) data = paginate_cursor(cur) return jsonify(data)
def votes_index(): cur = votes.find({}) data = paginate_cursor(cur) return jsonify(data)
def vote_events_get(identifier): obj = vote_events.find_one({"identifier": identifier}) obj = obj_or_404(obj) return jsonify(obj)
def motions_get(motion_id): obj = motions.find_one({"motion_id": motion_id}) obj = obj_or_404(obj) return jsonify(obj)
def api_index(): return jsonify({"status": "ok"})
def parties_get(id): obj = parties.find_one({"id": id}) obj = obj_or_404(obj) return jsonify(obj)
def get_issue(id): issue = issues.find_one({'_id': ObjectId(id)}) add_motions([issue]) return jsonify(issue)
def vote_events_index(): cur = vote_events.find({}, {"votes": False}) data = paginate_cursor(cur) return jsonify(data)
def api_index(): return jsonify({'status': 'ok'})
def persons_get(id): obj = persons.find_one({"id": id}) obj = obj_or_404(obj) return jsonify(obj)
def parties_index(): cur = parties.find({}) data = paginate_cursor(cur) return jsonify(data)
def motions_get(motion_id): obj = motions.find_one({'motion_id': motion_id}) obj = obj_or_404(obj) return jsonify(obj)