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,7 +6,6 @@ | ||
6 | 6 | ||
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. | 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 | - se database for mal configurada, é criada uma base de dados vazia e rebenta na autenticacao. | 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 | - 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. | 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 | - testar envio de parametros para stdin para perguntas tipo generator. | 10 | - testar envio de parametros para stdin para perguntas tipo generator. |
12 | 11 | ||
@@ -27,6 +26,7 @@ | @@ -27,6 +26,7 @@ | ||
27 | 26 | ||
28 | # FIXED | 27 | # FIXED |
29 | 28 | ||
29 | +- mostrar erro quando nao consegue importar questions files | ||
30 | - pacotes exactos usados para instalar. | 30 | - pacotes exactos usados para instalar. |
31 | - detectar colisoes nas referencias das perguntas. | 31 | - detectar colisoes nas referencias das perguntas. |
32 | - usar pomba da ue moderna. | 32 | - usar pomba da ue moderna. |
demo/questions.yaml
questions.py
@@ -3,7 +3,7 @@ import yaml | @@ -3,7 +3,7 @@ import yaml | ||
3 | import random | 3 | import random |
4 | import re | 4 | import re |
5 | import subprocess | 5 | import subprocess |
6 | -import os | 6 | +import sys |
7 | 7 | ||
8 | # Example usage: | 8 | # Example usage: |
9 | # | 9 | # |
@@ -30,8 +30,11 @@ class QuestionsPool(dict): | @@ -30,8 +30,11 @@ class QuestionsPool(dict): | ||
30 | with open(filename, 'r') as f: | 30 | with open(filename, 'r') as f: |
31 | questions = yaml.load(f) | 31 | questions = yaml.load(f) |
32 | except(FileNotFoundError): | 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 | # add defaults if missing from sources | 39 | # add defaults if missing from sources |
37 | for i, q in enumerate(questions): | 40 | for i, q in enumerate(questions): |