diff options
author | Greg S <enimihil@gmail.com> | 2009-05-08 03:33:09 (GMT) |
---|---|---|
committer | Greg S <enimihil@gmail.com> | 2009-05-08 03:33:09 (GMT) |
commit | 1290ff4b499b14f20e625c5c7132df12e24a59c3 (patch) | |
tree | b6024a085c5e2f1da2b7a38fb2639c0705db02d3 | |
parent | 96547e0bc16c96955829d61d5ac3a19ea46b8868 (diff) |
Tweaks to the parser.
-rw-r--r-- | quizdata/_format_gift.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/quizdata/_format_gift.py b/quizdata/_format_gift.py index dad97de..cd5c73b 100644 --- a/quizdata/_format_gift.py +++ b/quizdata/_format_gift.py @@ -58,16 +58,16 @@ ans_tf = oneOf("T F TRUE FALSE") ans_match = Literal("=") + ans_text + Literal("->") + ans_text ans_numeric = Group(Optional(Literal("=")) - + (number + Optional( Literal(":") + number) - ^number + Literal("..") + number) - + Optional( ans_explain )) + Optional(NL) + + (number("number") + Optional( Literal(":") + number("range")) + ^number("beg_range") + Literal("..") + number("end_range")) + + Optional( ans_explain )("explain")) + Optional(NL) -answer = Group(( ( correct_ans ^ wrong_ans ^ ans_tf) + Optional(ans_explain)) +answer = Group(( ( correct_ans ^ wrong_ans ^ ans_tf )("ans_text") + Optional(ans_explain)("explain")) ^ ans_match ) + Optional(NL) answer_list = Group((Literal("{").suppress() + Optional(NL) - + OneOrMore(answer) + + OneOrMore(answer) + Literal("}").suppress()) ^ (Literal("{#").suppress() @@ -117,8 +117,11 @@ def _question_maker(q): print q return None except Exception: + import traceback print "Error converting parsed format into question object!" + print zip(q.keys(), (str(v) for v in q.values())) print q + traceback.print_exc() return None def _missing_word_question_maker(q): @@ -196,8 +199,6 @@ def _make_answers(a): def _make_matching_answers(a): ret = AnswerList() - print a for i in a: - print i ret.append((str(i[1]), str(i[3]))) return ret |