From bf4d04edec08ae437d0cecc533266d50ecb711af Mon Sep 17 00:00:00 2001 From: Munyoki Kilyungi Date: Mon, 26 Aug 2024 15:27:33 +0300 Subject: Move "GET /wiki/" end-point to gn3.api.metadata.wiki. * gn3/api/metadata.py (get_wiki_entries): Move this... * gn3/api/metadata_api/wiki.py (edit_wiki): ... here. Signed-off-by: Munyoki Kilyungi --- gn3/api/metadata.py | 25 +------------------------ gn3/api/metadata_api/wiki.py | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 25 deletions(-) (limited to 'gn3/api') diff --git a/gn3/api/metadata.py b/gn3/api/metadata.py index 4ce32e0..3f28f5d 100644 --- a/gn3/api/metadata.py +++ b/gn3/api/metadata.py @@ -5,10 +5,7 @@ from string import Template from pathlib import Path from authlib.jose import jwt - from flask import Blueprint -from flask import jsonify -from flask import make_response from flask import request from flask import current_app @@ -17,8 +14,7 @@ from gn3.db.datasets import (retrieve_metadata, save_metadata, get_history) from gn3.db.rdf import (query_frame_and_compact, - query_and_compact, - get_wiki_entries_by_symbol) + query_and_compact) from gn3.db.constants import ( RDF_PREFIXES, BASE_CONTEXT, DATASET_CONTEXT, @@ -396,25 +392,6 @@ CONSTRUCT { ) -@metadata.route("/wiki/", methods=["GET"]) -def get_wiki_entries(symbol): - """Fetch wiki entries""" - content_type = request.headers.get("Content-Type") - status_code = 200 - response = get_wiki_entries_by_symbol( - symbol=symbol, - sparql_uri=current_app.config.get("SPARQL_ENDPOINT")) - data = response.get("data") - if not data: - data = {} - status_code = 404 - if content_type == "application/ld+json": - response = make_response(response) - response.headers["Content-Type"] = "application/ld+json" - return response, status_code - return jsonify(data), status_code - - @metadata.route("/genewikis/ncbi/", methods=["GET"]) def get_ncbi_genewiki_entries(symbol): """Fetch the NCBI GeneRIF entries""" diff --git a/gn3/api/metadata_api/wiki.py b/gn3/api/metadata_api/wiki.py index 621960e..c84578a 100644 --- a/gn3/api/metadata_api/wiki.py +++ b/gn3/api/metadata_api/wiki.py @@ -2,9 +2,11 @@ import datetime from typing import Any, Dict -from flask import Blueprint, request, jsonify, current_app +from flask import Blueprint, request, jsonify, current_app, make_response from gn3 import db_utils from gn3.db import wiki +from gn3.db.rdf import (query_frame_and_compact, + get_wiki_entries_by_symbol) wiki_blueprint = Blueprint("wiki", __name__, url_prefix="wiki") @@ -64,3 +66,22 @@ def edit_wiki(comment_id: int): ) return jsonify({"success": "ok"}) return jsonify(error="Error editting wiki entry, most likely due to DB error!"), 500 + + +@wiki_blueprint.route("/", methods=["GET"]) +def get_wiki_entries(symbol: str): + """Fetch wiki entries""" + content_type = request.headers.get("Content-Type") + status_code = 200 + response = get_wiki_entries_by_symbol( + symbol=symbol, + sparql_uri=current_app.config.get("SPARQL_ENDPOINT")) + data = response.get("data") + if not data: + data = {} + status_code = 404 + if content_type == "application/ld+json": + response = make_response(response) + response.headers["Content-Type"] = "application/ld+json" + return response, status_code + return jsonify(data), status_code -- cgit v1.2.3