From c79a1abff8da3d40dc2d6818b2d5b93381a9a3ca Mon Sep 17 00:00:00 2001
From: eliott <eliott.sammier@tetras-libre.fr>
Date: Wed, 5 Jun 2024 16:04:05 +0200
Subject: [PATCH] Fix QCU answers in XpathParser

---
 tetras_extraction/macao_12/script/extract_page.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tetras_extraction/macao_12/script/extract_page.py b/tetras_extraction/macao_12/script/extract_page.py
index d9b11213..3a12c956 100644
--- a/tetras_extraction/macao_12/script/extract_page.py
+++ b/tetras_extraction/macao_12/script/extract_page.py
@@ -109,7 +109,7 @@ class XpathParser:
         '//FunctionDeclaration[id/Identifier[@name="entrerDonnees"]]'
     )
     request_index_and_values = etree.XPath(
-        '*//VariableDeclarator[id//*[@name="nr"]]/init/Literal | *//AssignmentExpression[*//Identifier[@name="CODE_V"]]'
+        '*//VariableDeclarator[id//*[@name="nr"]]/init/Literal | *//AssignmentExpression//Identifier[starts-with(@name,"CODE_")]'
     )
     request_constructor_id = etree.XPath(
         '*//NewExpression/callee/Identifier[@name="Cours" or starts-with(@name, "Exercice")]'
@@ -153,8 +153,9 @@ class XpathParser:
                 # "index line"
                 index = int(value[0])
             else:
-                # "true line"
-                insert_grow(correct_choices, index, True, fill_value=False)
+                # "correct" or "incorrect" line
+                correct = e.get("name") == "CODE_V"
+                insert_grow(correct_choices, index, correct, fill_value=False)
         return correct_choices
 
     def to_xml(self, obj, tag_name: Optional[str] = None):
-- 
GitLab