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 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 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 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 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 status(): return jsonify({ 'logged_in': authz.logged_in(), 'api_key': current_user.api_key if authz.logged_in() else None, 'user': current_user if authz.logged_in() else None, 'permissions': { READ: authz.system_read(), EDIT: authz.system_edit(), MANAGE: authz.system_manage() }, 'logout': url_for('.logout') })
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): 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 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 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))