Source code for officiumdivinum.api.martyrology

from datetime import datetime
from datetime import timedelta

import dateutil.parser as dp
from flask import Blueprint
from flask import jsonify
from flask import request
from flask_api.decorators import set_renderers
from flask_api.renderers import JSONRenderer

from . import database
from .office import get_partlist
from .renderers import objectHTMLRenderer

martyrology = Blueprint("martyrolgy", __name__, url_prefix="/martyrology")


[docs]def json_query(day, table): old_date, martyrology = database.martyrology_query(day, table) return jsonify({"old_date": old_date, "content": martyrology})
[docs]@martyrology.route("/", methods=["GET"]) @set_renderers(JSONRenderer, objectHTMLRenderer) def get_martyrology(): args = request.args try: day = dp.parse(args["date"]) except KeyError: day = datetime.now() + timedelta(days=1) day = day.date() try: if args["type"] == "json": return json_query(day, "martyrology") except KeyError: pass martyrology = [database.martyrology_query(day, "martyrology")] if args.getlist("getparts"): return get_partlist(martyrology) return martyrology