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): | ... | ... |