Skip to content

Commit 3918317

Browse files
pobrnveluca93
authored andcommitted
loaders/tps: add support for setting the feedback_level of a task
Suggested-by: Németh Zsolt <37755878+birka0@users.noreply.github.com>
1 parent e3d243c commit 3918317

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

cmscontrib/loaders/tps.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import subprocess
2626
from datetime import timedelta
2727

28+
from cms import FEEDBACK_LEVEL_FULL, FEEDBACK_LEVEL_RESTRICTED, FEEDBACK_LEVEL_OI_RESTRICTED
2829
from cms.db import Task, Dataset, Manager, Testcase, Attachment, Statement
2930
from cmscommon.constants import SCORE_MODE_MAX_SUBTASK
3031
from .base_loader import TaskLoader
@@ -126,6 +127,14 @@ def get_task(self, get_statement=True):
126127
args["title"] = data['name']
127128
args["score_mode"] = SCORE_MODE_MAX_SUBTASK
128129

130+
feedback_level = data.get("feedback_level", None)
131+
if feedback_level:
132+
if feedback_level not in (FEEDBACK_LEVEL_FULL, FEEDBACK_LEVEL_RESTRICTED, FEEDBACK_LEVEL_OI_RESTRICTED):
133+
logger.critical(f"invalid feedback_level: {feedback_level}")
134+
return None
135+
136+
args["feedback_level"] = feedback_level
137+
129138
# Statements
130139
if get_statement:
131140
statements_dir = os.path.join(self.path, 'statements')

0 commit comments

Comments
 (0)