Commit e529c8a8238ce7a9a382971e27fb7903532e05c8
1 parent
203495c3
Exists in
master
and in
1 other branch
- show error when yaml parsing questions fails.
Showing
3 changed files
with
8 additions
and
4 deletions
Show diff stats
BUGS.md
| ... | ... | @@ -6,7 +6,6 @@ |
| 6 | 6 | |
| 7 | 7 | - parece que é preciso criar à mão a pasta para as respostas (ans/...) depois apercebo-me que os caminhos no teste dizem respeito à directoria donde o teste é corrido... as respostas deveriam guardadas no directório dado. |
| 8 | 8 | - se database for mal configurada, é criada uma base de dados vazia e rebenta na autenticacao. |
| 9 | -- mostrar erro quando nao consegue importar questions files | |
| 10 | 9 | - testar regex na definicao das perguntas. como se faz rawstring em yaml? singlequote? problemas de backslash??? sim... necessário fazer \\ em varios casos, mas não é claro! e.g. \n é convertido em espaço mas \w é convertido em \\ e w. |
| 11 | 10 | - testar envio de parametros para stdin para perguntas tipo generator. |
| 12 | 11 | |
| ... | ... | @@ -27,6 +26,7 @@ |
| 27 | 26 | |
| 28 | 27 | # FIXED |
| 29 | 28 | |
| 29 | +- mostrar erro quando nao consegue importar questions files | |
| 30 | 30 | - pacotes exactos usados para instalar. |
| 31 | 31 | - detectar colisoes nas referencias das perguntas. |
| 32 | 32 | - usar pomba da ue moderna. | ... | ... |
demo/questions.yaml
questions.py
| ... | ... | @@ -3,7 +3,7 @@ import yaml |
| 3 | 3 | import random |
| 4 | 4 | import re |
| 5 | 5 | import subprocess |
| 6 | -import os | |
| 6 | +import sys | |
| 7 | 7 | |
| 8 | 8 | # Example usage: |
| 9 | 9 | # |
| ... | ... | @@ -30,8 +30,11 @@ class QuestionsPool(dict): |
| 30 | 30 | with open(filename, 'r') as f: |
| 31 | 31 | questions = yaml.load(f) |
| 32 | 32 | except(FileNotFoundError): |
| 33 | - print(' * Questions file "%s" not found. Aborting...' % filename) | |
| 34 | - os.sys.exit(1) | |
| 33 | + print(' * Questions file "{0}" not found. Aborting...'.format(filename)) | |
| 34 | + sys.exit(1) | |
| 35 | + except(yaml.parser.ParserError): | |
| 36 | + print(' * Error in questions file "{0}". Aborting...'.format(filename)) | |
| 37 | + sys.exit(1) | |
| 35 | 38 | |
| 36 | 39 | # add defaults if missing from sources |
| 37 | 40 | for i, q in enumerate(questions): | ... | ... |