summaryrefslogtreecommitdiff
path: root/prolog
diff options
context:
space:
mode:
Diffstat (limited to 'prolog')
-rw-r--r--prolog/common.py1
-rw-r--r--prolog/problems/family_relations/brother_2/common.py4
-rw-r--r--prolog/problems/family_relations/father_2/common.py4
-rw-r--r--prolog/problems/family_relations/mother_2/common.py4
-rw-r--r--prolog/problems/family_relations/sister_2/common.py4
-rw-r--r--prolog/sl.py4
6 files changed, 17 insertions, 4 deletions
diff --git a/prolog/common.py b/prolog/common.py
index 41377bb..8dca4dd 100644
--- a/prolog/common.py
+++ b/prolog/common.py
@@ -6,6 +6,7 @@ from server.hints import Hint, HintSequence
hint_type = {
'no_hint': HintSequence('no_hint', 4),
+ 'system_error': Hint('system_error'),
'test_results': Hint('test_results'),
'syntax_error': Hint('syntax_error'),
}
diff --git a/prolog/problems/family_relations/brother_2/common.py b/prolog/problems/family_relations/brother_2/common.py
index 13f7ab5..0df2d73 100644
--- a/prolog/problems/family_relations/brother_2/common.py
+++ b/prolog/problems/family_relations/brother_2/common.py
@@ -58,7 +58,9 @@ def test(program, solved_problems):
if engine_id:
prolog.engine.destroy(engine_id)
- return n_correct, len(test_cases)
+ passed = n_correct == len(test_cases)
+ hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_cases)}}]
+ return passed, hints
def hint(program, solved_problems):
# tokens = prolog.util.tokenize(program)
diff --git a/prolog/problems/family_relations/father_2/common.py b/prolog/problems/family_relations/father_2/common.py
index 1342441..22c9b48 100644
--- a/prolog/problems/family_relations/father_2/common.py
+++ b/prolog/problems/family_relations/father_2/common.py
@@ -53,7 +53,9 @@ def test(program, solved_problems):
if engine_id:
prolog.engine.destroy(engine_id)
- return n_correct, len(test_cases)
+ passed = n_correct == len(test_cases)
+ hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_cases)}}]
+ return passed, hints
def hint(program, solved_problems):
tokens = prolog.util.tokenize(program)
diff --git a/prolog/problems/family_relations/mother_2/common.py b/prolog/problems/family_relations/mother_2/common.py
index 4d198d4..be0d19b 100644
--- a/prolog/problems/family_relations/mother_2/common.py
+++ b/prolog/problems/family_relations/mother_2/common.py
@@ -64,7 +64,9 @@ def test(program, solved_problems):
if engine_id:
prolog.engine.destroy(engine_id)
- return n_correct, len(test_cases)
+ passed = n_correct == len(test_cases)
+ hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_cases)}}]
+ return passed, hints
def hint(program, solved_problems):
tokens = prolog.util.tokenize(program)
diff --git a/prolog/problems/family_relations/sister_2/common.py b/prolog/problems/family_relations/sister_2/common.py
index 1ae652a..b3cbff0 100644
--- a/prolog/problems/family_relations/sister_2/common.py
+++ b/prolog/problems/family_relations/sister_2/common.py
@@ -61,7 +61,9 @@ def test(program, solved_problems):
if engine_id:
prolog.engine.destroy(engine_id)
- return n_correct, len(test_cases)
+ passed = n_correct == len(test_cases)
+ hints = [{'id': 'test_results', 'args': {'passed': n_correct, 'total': len(test_cases)}}]
+ return passed, hints
def hint(program, solved_problems):
# how do I know which general hints were already shown?
diff --git a/prolog/sl.py b/prolog/sl.py
index 731eff3..b341f66 100644
--- a/prolog/sl.py
+++ b/prolog/sl.py
@@ -11,6 +11,10 @@ hint = {
<p>Definicija norosti: poskušati isto in pričakovati drugačen rezultat.</p>
'''],
+ 'system_error': ['''\
+<p><span style="color: red;">Sistemska napaka:</span> [%=message%].</p>
+'''],
+
'test_results': '''\
<p>Program je opravil [%=passed%] / [%=total%] testov.</p>
''',