def index(): authz.require(authz.system_read()) q = Context.all() if arg_bool('imports'): q = q.filter(Context.resource_name != None) # noqa q = q.order_by(Context.updated_at.desc()) return jsonify(Pager(q))
def store(): authz.require(authz.system_edit()) pairing = Pairing.update(request_data(), current_user) pairing.apply() db.session.commit() generate_pairings.delay() return jsonify(pairing)
def load_next(): authz.require(authz.system_edit()) next = request_pairing(exclude=request.args.getlist("exclude")) db.session.commit() if next is None: return jsonify({"status": "done"}) return jsonify({"status": "next", "next": next.id})
def update(id): authz.require(authz.system_edit()) entity = obj_or_404(EntityQuery.by_id(id)) context = Context.create(current_user, {}) entity.update(request_data(), context) db.session.commit() return redirect(url_for(".view", id=entity.id))
def initiate(): authz.require(authz.system_edit()) root = request_data().get("root") if root is None: return jsonify({"status": "error", "message": "No root entity provided."}, status=400) enrich_entity.delay(root, root, request_data().get("spider")) return jsonify({"status": "ok", "root": root})
def index(): authz.require(authz.system_read()) q = {} prefix = request.args.get("prefix", "") if len(prefix): q = {"label~=": prefix} q = EntityQuery(q) return jsonify(Pager(q))
def load_next(root): authz.require(authz.system_edit()) q = Context.by_root(root) q = q.filter(Context.enrich_status == PENDING) q = q.order_by(Context.enrich_score.desc()) context = q.first() if context is None: # TODO: spider status system return jsonify({"status": "wait"}) return jsonify({"status": "next", "next": context.id})
def spiders(): authz.require(authz.system_read()) spiders = {} for name, spider in get_spiders().items(): spiders[name] = { "name": name, "class": spider.__name__, "label": spider.PUBLISHER_LABEL, "url": spider.PUBLISHER_URL, } return jsonify(spiders)
def view(id): authz.require(authz.system_edit()) pairing = obj_or_404(Pairing.by_id(id)) return jsonify( { "status": "ok", "left": EntityQuery.by_id(pairing.left_id), "right": EntityQuery.by_id(pairing.right_id), "pairing": pairing, } )
def query(): authz.require(authz.system_read()) if request.method == "GET": try: q = json.loads(request.args.get("q")) except (TypeError, ValueError) as e: data = {"status": "error", "message": "Invalid query: %s" % unicode(e)} return jsonify(data, status=400) else: q = request_data() return jsonify(execute_query(q))
def store(root): authz.require(authz.system_edit()) ctx_data = request_data() q = Context.by_root(root) q = q.filter(Context.id == ctx_data.get("id")) context = q.first() if context is None: return jsonify({"status": "failed"}, status=400) context.update(request_data()) context.active = context.enrich_status == ACCEPTED context.user = current_user db.session.commit() # TODO: task newly activated entities. return jsonify({"status": "ok"})
def view(root, id): authz.require(authz.system_edit()) q = Context.by_root(root) q = q.filter(Context.id == id) context = obj_or_404(q.first()) statements = [] entities = set() for stmt in context.statements: entities.add(stmt.subject) if qualified[stmt.attribute].data_type == "entity": entities.add(stmt._value) statements.append(stmt.to_dict(raw=True)) q = [{"assume": [context.id], "id|=": list(entities), "label": None, "type": None}] entities = {e.get("id"): e for e in execute_query(q).get("result")} return jsonify( {"status": "ok", "entities": entities, "context": context.to_dict(enrich=True), "statements": statements} )
def update(id): user = obj_or_404(User.by_id(id)) authz.require(user.id == current_user.id or authz.system_manage()) user.update(request_data()) db.session.commit() return jsonify(user)
def view(id): authz.require(authz.system_read()) entity = obj_or_404(EntityQuery.by_id(id)) return jsonify(entity)
def create(): authz.require(authz.system_edit()) context = Context.create(current_user, {}) entity = Entity.create(request_data(), context) db.session.commit() return redirect(url_for(".view", id=entity.id))
def index(): authz.require(authz.system_manage()) users = list(User.all()) return jsonify({'results': users, 'total': len(users)})
def update(id): authz.require(authz.system_edit()) context = obj_or_404(Context.by_id(id)) context.update(request_data()) db.session.commit() return redirect(url_for('.view', id=context.id))
def view(id): authz.require(authz.system_read()) context = obj_or_404(Context.by_id(id)) return jsonify(context)
def create(): authz.require(authz.system_edit()) context = Context.create(current_user, request_data()) db.session.commit() return redirect(url_for('.view', id=context.id))
def view(id): authz.require(authz.system_read()) user = obj_or_404(User.by_id(id)) data = user.to_dict() return jsonify(data)