Commit 6c5a961afa06755da51b579e562faaf7e1d18548

Authored by Miguel Barão
1 parent e23fb122
Exists in master and in 1 other branch dev

minor mods

Showing 3 changed files with 19 additions and 17 deletions   Show diff stats
1 -# BUGS 1 +# Bugs and Wishlist
  2 +
  3 +## BUGS
2 4
3 - nao esta a respeitar o numero de tentativas `max_tries`. 5 - nao esta a respeitar o numero de tentativas `max_tries`.
4 - se na especificacao de um curso, a referencia do topico nao existir como 6 - se na especificacao de um curso, a referencia do topico nao existir como
5 directorio, rebenta. 7 directorio, rebenta.
6 - internal server error ao fazer logout no macos python3.8 8 - internal server error ao fazer logout no macos python3.8
7 -- GET can get filtered by browser cache  
8 - topicos chapter devem ser automaticamente completos assim que as dependencias 9 - topicos chapter devem ser automaticamente completos assim que as dependencias
9 são satisfeitas. Nao devia ser necessario (ou possivel?) clicar neles. 10 são satisfeitas. Nao devia ser necessario (ou possivel?) clicar neles.
10 - topicos do tipo learn deviam por defeito nao ser randomizados e assumir 11 - topicos do tipo learn deviam por defeito nao ser randomizados e assumir
@@ -23,11 +24,11 @@ @@ -23,11 +24,11 @@
23 - shift-enter não está a funcionar 24 - shift-enter não está a funcionar
24 - default prefix should be obtained from each course (yaml conf)? 25 - default prefix should be obtained from each course (yaml conf)?
25 26
26 -# TODO 27 +## TODO
27 28
28 -- shuffle das perguntas dentro de um topico  
29 - alterar tabelas para incluir email de recuperacao de password (e outros 29 - alterar tabelas para incluir email de recuperacao de password (e outros
30 avisos) 30 avisos)
  31 +- shuffle das perguntas dentro de um topico
31 - registar `last_seen` e remover os antigos de cada vez que houver um login. 32 - registar `last_seen` e remover os antigos de cada vez que houver um login.
32 - indicar qtos topicos faltam (>=50%) para terminar o curso. 33 - indicar qtos topicos faltam (>=50%) para terminar o curso.
33 - ao fim de 3 tentativas com password errada, envia email com nova password. 34 - ao fim de 3 tentativas com password errada, envia email com nova password.
@@ -50,8 +51,9 @@ @@ -50,8 +51,9 @@
50 mais falhadas, tempo médio por pergunta. 51 mais falhadas, tempo médio por pergunta.
51 - normalizar com perguntations. 52 - normalizar com perguntations.
52 53
53 -# FIXED 54 +## FIXED
54 55
  56 +- rankings rebenta se nunhum aluno tiver feito nenhum topico.
55 - templates question-*.html tem input hidden question_ref que não é usado. 57 - templates question-*.html tem input hidden question_ref que não é usado.
56 remover? 58 remover?
57 - goals se forem do tipo chapter deve importar todas as dependencias do chapter. 59 - goals se forem do tipo chapter deve importar todas as dependencias do chapter.
aprendizations/learnapp.py
@@ -599,9 +599,9 @@ class LearnApp(): @@ -599,9 +599,9 @@ class LearnApp():
599 return self.courses[course_id] 599 return self.courses[course_id]
600 600
601 # ------------------------------------------------------------------------ 601 # ------------------------------------------------------------------------
602 - def get_rankings(self, uid: str, course_id: str) -> Iterable[Tuple[str, str, float]]: 602 + def get_rankings(self, uid: str, cid: str) -> Iterable[Tuple[str, str, float]]:
603 ''' 603 '''
604 - Returns rankings for a certain course_id. 604 + Returns rankings for a certain cid (course_id).
605 User where uid have <=2 chars are considered ghosts are hidden from 605 User where uid have <=2 chars are considered ghosts are hidden from
606 the rankings. This is so that there can be users for development or 606 the rankings. This is so that there can be users for development or
607 testing purposes, which are not real users. 607 testing purposes, which are not real users.
@@ -609,7 +609,7 @@ class LearnApp(): @@ -609,7 +609,7 @@ class LearnApp():
609 This should be modified to have a "visible" flag 609 This should be modified to have a "visible" flag
610 ''' 610 '''
611 611
612 - logger.info('User "%s" rankings for "%s"', uid, course_id) 612 + logger.info('User "%s" rankings for "%s"', uid, cid)
613 query_students = select(Student.id, Student.name) 613 query_students = select(Student.id, Student.name)
614 query_student_topics = select(StudentTopic.student_id, 614 query_student_topics = select(StudentTopic.student_id,
615 StudentTopic.topic_id, 615 StudentTopic.topic_id,
@@ -625,7 +625,7 @@ class LearnApp(): @@ -625,7 +625,7 @@ class LearnApp():
625 625
626 # compute topic progress 626 # compute topic progress
627 now = datetime.now() 627 now = datetime.now()
628 - goals = self.courses[course_id]['goals'] 628 + goals = self.courses[cid]['goals']
629 progress: DefaultDict[str, float] = defaultdict(int) 629 progress: DefaultDict[str, float] = defaultdict(int)
630 630
631 for student, topic, level, date in student_topics: 631 for student, topic, level, date in student_topics:
@@ -2,14 +2,14 @@ @@ -2,14 +2,14 @@
2 python_version = 3.9 2 python_version = 3.9
3 plugins = sqlalchemy.ext.mypy.plugin 3 plugins = sqlalchemy.ext.mypy.plugin
4 4
5 -[mypy-pygments.*]  
6 -ignore_missing_imports = True 5 +; [mypy-pygments.*]
  6 +; ignore_missing_imports = True
7 7
8 -[mypy-networkx.*]  
9 -ignore_missing_imports = True 8 +; [mypy-networkx.*]
  9 +; ignore_missing_imports = True
10 10
11 -[mypy-bcrypt.*]  
12 -ignore_missing_imports = True 11 +; [mypy-bcrypt.*]
  12 +; ignore_missing_imports = True
13 13
14 -[mypy-mistune.*]  
15 -ignore_missing_imports = True 14 +; [mypy-mistune.*]
  15 +; ignore_missing_imports = True