Older-Kolibri Perseus export of a QTI Text entry item answered `1_000` or `٥` has no answers
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 30/100
Rechercherichtung
Start with perseus_derive._accepted_values, extract_value, and PerseusExerciseGenerator._process_input_answers, then reproduce the issue using derive_perseus_item as described. Check the rendered perseus/input_question.json output and add coverage showing that non-xsd:double forms such as 1_000 and ٥ are handled as expected without producing an incorrect answer set.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Target branch: unstable
Observed behavior
perseus_derive._accepted_values keeps any answer Python float() reads as finite. float() also reads forms that are not xsd:double:
- digit separators:
1_000,1_0E3 - non-ASCII digits:
٥,5
extract_value rejects these, so PerseusExerciseGenerator._process_input_answers drops them. The derived Perseus item ships "answers": [].
Errors and logs
None. No warning is logged.
Expected behavior
_accepted_values accepts only xsd:double values (ASCII digits, no _), so an item whose only answers are these forms is answerless and publishes in neither archive.
User-facing consequences
Learners on older Kolibri get an input question that marks every answer wrong.
Steps to reproduce
derive_perseus_item(_Item(_text_item("single", ["1_000"])))— answers["1_000"].- Pass them through
_process_input_answers, then renderperseus/input_question.json. - The
numeric-input 1widget has no answers.
Same for ["٥"].
Context
- The editor rejects these forms; ricecooker-imported QTI items do not.
- Related: #6222, #6224
AI usage
Drafted by Claude Code during review of #6224. Reproduced on unstable with a script calling derive_perseus_item, _process_input_answers and the template.
- Vorherrschende Sprache
- Python
- Sterne
- 211
- Forks
- 317
- Ø Merge
- 4 T. 2 Std.
- Gemergte PRs (30 T.)
- 23
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus learningequality/studio
-
Set unpublishable: true on PublishedChange by construction to simplify handleMaxRevs predicateOffenDEV: frontend P3 - low
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
learningequality/studio#5868 ·
Maintainer antworten meist innerhalb von 1 Tag
-
TAG: tech update / debt
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
learningequality/studio#2245 ·
Maintainer antworten meist innerhalb von 1 Tag
-
dependencies javascript
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 25/100
learningequality/studio#6381 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug DEV: frontend
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 20/100
learningequality/studio#6378 ·
Maintainer antworten meist innerhalb von 1 Tag
-
dependencies DEV: backend python
Schwierigkeit 4/5 1-2 Tage Anfängerfreundlichkeit 25/100
learningequality/studio#6376 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in learningequality/studio
Ähnliche Issues
-
bug good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
graphql-python/graphql-core#304 ·
Maintainer antworten meist innerhalb von 1 Tag
-
docs size:S
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Gathin23/cleanyourtv#3464 ·
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag