diff --git a/BUGS.md b/BUGS.md
index 639e50a..8b55138 100644
--- a/BUGS.md
+++ b/BUGS.md
@@ -1,6 +1,7 @@
# BUGS
+- change password modal nao aparece no ipad (safari e firefox)
- on start topic, logs show questionhandler.get() twice.
- generators e correct scripts que durem muito tempo podem bloquear o loop do tornado?
- detect questions in questions.yaml without ref -> error ou generate default.
@@ -29,6 +30,7 @@
# FIXED
+- numero de estrelas depende da proporcao entre certas e erradas.
- image brand da universidade está esbatida.
- reportar comentarios após submeter.
- error if demo.yaml has no topics
diff --git a/knowledge.py b/knowledge.py
index 2399ce2..6de2ea1 100644
--- a/knowledge.py
+++ b/knowledge.py
@@ -89,6 +89,8 @@ class StudentKnowledge(object):
factory = self.deps.node[topic]['factory']
questionlist = self.deps.node[topic]['questions']
+ self.correct_answers = 0
+ self.wrong_answers = 0
self.finished_questions = []
self.questions = [factory[qref].generate() for qref in questionlist]
logger.debug(f'Total: {len(self.questions)} questions')
@@ -113,9 +115,9 @@ class StudentKnowledge(object):
self.current_question = None
self.state[self.current_topic] = {
- 'level': 1.0,
- 'date': datetime.now()
- }
+ 'date': datetime.now(),
+ 'level': self.correct_answers / (self.correct_answers + self.wrong_answers)
+ }
self.unlock_topics()
@@ -134,6 +136,7 @@ class StudentKnowledge(object):
# if answer is correct, get next question
if grade > 0.999:
+ self.correct_answers += 1
self.finished_questions.append(q)
try:
self.current_question = self.questions.pop(0) # FIXME empty?
@@ -144,6 +147,7 @@ class StudentKnowledge(object):
# if answer is wrong, keep same question and add a similar one at the end
else:
+ self.wrong_answers += 1
factory = self.deps.node[self.current_topic]['factory']
self.questions.append(factory[q['ref']].generate())
diff --git a/templates/maintopics.html b/templates/maintopics.html
index b4d52a6..987acd5 100644
--- a/templates/maintopics.html
+++ b/templates/maintopics.html
@@ -88,9 +88,9 @@
{% if t['type']=='chapter' %}
{% else %}
-
- {{ round(t['level']*5)*'' + round(5-t['level']*5)*'' }}
-
+
+ {{ round(t['level']*5)*'' + (5-round(t['level']*5))*'' }}
+
{% end %}
{% end %}
--
libgit2 0.21.2