summaryrefslogtreecommitdiff
path: root/server/prolog_session.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/prolog_session.py')
-rw-r--r--server/prolog_session.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/server/prolog_session.py b/server/prolog_session.py
index 3de861c..0faad5c 100644
--- a/server/prolog_session.py
+++ b/server/prolog_session.py
@@ -99,8 +99,14 @@ class PrologSession(server.LanguageSession):
solved_problems = [p for p in CodeqUser.solved_problems(session.get_uid(), language)
if p != (problem_group, problem)]
+
hints = []
- if hasattr(language_module, 'hint'):
+ # check if the program is already correct
+ passed, _ = problem_module.test(program, solved_problems)
+ if passed:
+ hints = [{'id': 'program_already_correct'}]
+
+ if not hints and hasattr(language_module, 'hint'):
hints = language_module.hint(program, solved_problems)
if not hints and hasattr(problem_module, 'hint'):
hints = problem_module.hint(program, solved_problems)