Older-Kolibri Perseus export of a QTI Text entry item answered `1_000` or `٥` has no answers
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 30/100
Direção de pesquisa
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.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
❌ 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.
- Linguagem predominante
- Python
- Estrelas
- 211
- Forks
- 317
- Merge médio
- 4d 9h
- PRs com merge (30d)
- 26
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de learningequality/studio
-
Set unpublishable: true on PublishedChange by construction to simplify handleMaxRevs predicateAbertaDEV: frontend P3 - low
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
learningequality/studio#5868 ·
Mantenedores costumam responder em até 1 dia
-
TAG: tech update / debt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
learningequality/studio#2245 ·
Mantenedores costumam responder em até 1 dia
-
bug DEV: frontend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 20/100
learningequality/studio#6378 ·
Mantenedores costumam responder em até 1 dia
-
dependencies DEV: backend python
Dificuldade 4/5 1-2 dias Facilidade para iniciantes 25/100
learningequality/studio#6376 ·
Mantenedores costumam responder em até 1 dia
-
Upgrade Babel to 8Abertadependencies DEV: frontend
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 8/100
learningequality/studio#6375 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de learningequality/studio
Issues semelhantes
-
New InternshipAbertanew_internship
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
get_graph warns that the oneway column is missing when no way has a oneway tagTalvez já em andamento @HTenkanen assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
cython/cython#8110 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
fix: security 🔐 style: article/section 📝 system: data-mgmt 🗃️ system: security 🔐 system: software 💻
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
uabrc/uabrc.github.io#1267 ·
-
Link Checker ReportAbertaBot Type: Bug Type: Documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia