50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
"""api.__init__
|
|
"""
|
|
|
|
from flask import Blueprint
|
|
from flask import request
|
|
from app.scodoc import sco_utils as scu
|
|
from app.scodoc.sco_exceptions import ScoException
|
|
|
|
api_bp = Blueprint("api", __name__)
|
|
api_web_bp = Blueprint("apiweb", __name__)
|
|
|
|
|
|
@api_bp.errorhandler(ScoException)
|
|
@api_bp.errorhandler(404)
|
|
def api_error_handler(e):
|
|
"erreurs API => json"
|
|
return scu.json_error(404, message=str(e))
|
|
|
|
|
|
def requested_format(default_format="json", allowed_formats=None):
|
|
"""Extract required format from query string.
|
|
* default value is json. A list of allowed formats may be provided
|
|
(['json'] considered if not provided).
|
|
* if the required format is not in allowed list, returns None.
|
|
|
|
NB: if json in not in allowed_formats, format specification is mandatory.
|
|
"""
|
|
format_type = request.args.get("format", default_format)
|
|
if format_type in (allowed_formats or ["json"]):
|
|
return format_type
|
|
return None
|
|
|
|
|
|
from app.api import tokens
|
|
from app.api import (
|
|
absences,
|
|
assiduites,
|
|
billets_absences,
|
|
departements,
|
|
etudiants,
|
|
evaluations,
|
|
formations,
|
|
formsemestres,
|
|
jury,
|
|
justificatif,
|
|
logos,
|
|
partitions,
|
|
users,
|
|
)
|