diff --git a/app/__init__.py b/app/__init__.py
index 7998f19a9..0b7695a29 100755
--- a/app/__init__.py
+++ b/app/__init__.py
@@ -86,8 +86,9 @@ def handle_invalid_csrf(exc):
return render_template("error_csrf.j2", exc=exc), 404
-def handle_pdf_format_error(exc):
- return "ay ay ay"
+# def handle_pdf_format_error(exc):
+# return "ay ay ay"
+handle_pdf_format_error = handle_sco_value_error
def internal_server_error(exc):
diff --git a/app/scodoc/sco_pv_pdf.py b/app/scodoc/sco_pv_pdf.py
index 551888fe5..797582bd4 100644
--- a/app/scodoc/sco_pv_pdf.py
+++ b/app/scodoc/sco_pv_pdf.py
@@ -46,6 +46,7 @@ from reportlab.lib.colors import Color
from app.models import FormSemestre
from app.scodoc import codes_cursus
+from app.scodoc.sco_exceptions import ScoPDFFormatError
from app.scodoc import sco_pv_dict
from app.scodoc import sco_pdf
from app.scodoc import sco_preferences
@@ -217,20 +218,23 @@ def _pvjury_pdf_type(
f"""Jury tenu le {date_jury}""", style
)
- objects += sco_pdf.make_paras(
- ""
- + (sco_preferences.get_preference("PV_INTRO", formsemestre.id) or "")
- % {
- "Decnum": numero_arrete,
- "VDICode": code_vdi,
- "UnivName": sco_preferences.get_preference("UnivName", formsemestre.id),
- "Type": titre_jury,
- "Date": date_commission, # deprecated
- "date_commission": date_commission,
- }
- + "",
- style_bullet,
- )
+ try:
+ objects += sco_pdf.make_paras(
+ ""
+ + (sco_preferences.get_preference("PV_INTRO", formsemestre.id) or "")
+ % {
+ "Decnum": numero_arrete,
+ "VDICode": code_vdi,
+ "UnivName": sco_preferences.get_preference("UnivName", formsemestre.id),
+ "Type": titre_jury,
+ "Date": date_commission, # deprecated
+ "date_commission": date_commission,
+ }
+ + "",
+ style_bullet,
+ )
+ except KeyError as exc:
+ raise ScoPDFFormatError(msg=f"balise inconnue: {exc.args[0]}") from exc
objects += sco_pdf.make_paras(
"""Le jury propose les décisions suivantes :""", style
diff --git a/sco_version.py b/sco_version.py
index 772a68055..678af3349 100644
--- a/sco_version.py
+++ b/sco_version.py
@@ -1,7 +1,7 @@
# -*- mode: python -*-
# -*- coding: utf-8 -*-
-SCOVERSION = "9.6.65"
+SCOVERSION = "9.6.66"
SCONAME = "ScoDoc"