diff options
Diffstat (limited to 'uploader/publications')
-rw-r--r-- | uploader/publications/__init__.py | 1 | ||||
-rw-r--r-- | uploader/publications/views.py | 34 |
2 files changed, 35 insertions, 0 deletions
diff --git a/uploader/publications/__init__.py b/uploader/publications/__init__.py index 57c0cbb..7efcabb 100644 --- a/uploader/publications/__init__.py +++ b/uploader/publications/__init__.py @@ -1 +1,2 @@ """Package for handling publications.""" +from .views import pubbp diff --git a/uploader/publications/views.py b/uploader/publications/views.py new file mode 100644 index 0000000..85d3aef --- /dev/null +++ b/uploader/publications/views.py @@ -0,0 +1,34 @@ +"""Endpoints for publications""" +import json + +from gn_libs.mysqldb import database_connection +from flask import Blueprint, render_template, current_app as app + +from uploader.authorisation import require_login + +from .models import fetch_publications + +from gn_libs.debug import __pk__ + +pubbp = Blueprint("publications", __name__) + + +@pubbp.route("/", methods=["GET"]) +@require_login +def index(): + """Index page for publications.""" + with database_connection(app.config["SQL_URI"]) as conn: + return render_template("publications/index.html") + + +@pubbp.route("/list", methods=["GET"]) +@require_login +def list_publications(): + with database_connection(app.config["SQL_URI"]) as conn: + return json.dumps({ + "publications": tuple({ + **row, "index": idx + } for idx,row in enumerate( + fetch_publications(conn), start=1)), + "status": "success" + }) |