"""AutoSco / views """ from flask import make_response, render_template from app import log from app.utils import utils as scu from app.views import bp from scodoc import api @bp.route("/") def index(): annee_scolaire = scu.annee_scolaire() sems = api.get(f"/formsemestres/with_description/query?annee_scolaire={annee_scolaire}") # nb: l'utilisation de l'API départementale permet de n'avoir # que les semestres du département configuré. # Ne retient que les semestres ayant une description et étant visibles sems = [ s for s in sems if s["autosco"] and s["autosco"]["visible"] ] return render_template("index.j2", sems=sems) @bp.route("/formdescription/") def formsemestre_description(formsemestre_id:int): """Page description d'un formsemestre (=d'un cours)""" sem = api.get(f"/formsemestre/{formsemestre_id}/with_description") return render_template("formsemestre_description.j2", sem=sem) @bp.route("/formsemestre//description/photo_ens") def formsemestre_get_photo_ens(formsemestre_id: int): """Photo du responsable, ou illustration du formsemestre. Peut être vide.""" # demande à ScoDoc et renvoie # on pourrait cacher response = api.get(f"/formsemestre/{formsemestre_id}/description/photo_ens") content_type = response.headers["Content-Type"] if not content_type.startswith("image"): log(f"formsemestre_get_photo_ens({formsemestre_id}): not an image") return make_response("", 204) # 204 No Content status r = make_response(response.content) r.headers["Content-Type"] = content_type return r @bp.route("/formsemestre//inscription") def formsemestre_inscription(formsemestre_id: int): """Formulaire d'auto-inscription étudiant""" return "Formulaire d'auto-inscription étudiant" # TODO