示例#1
0
    def create_submission(self, key, submission):
        if submission.user not in self._scores:
            self._scores[submission.user] = dict()
        if submission.task not in self._scores[submission.user]:
            task = task_store.retrieve(submission.task)
            self._scores[submission.user][submission.task] = \
                Score(score_mode=task["score_mode"])

        score_obj = self._scores[submission.user][submission.task]
        old_score = score_obj.get_score()
        score_obj.create_submission(key, submission)
        new_score = score_obj.get_score()
        if old_score != new_score:
            self.notify_callbacks(submission.user, submission.task, new_score)
示例#2
0
文件: Scoring.py 项目: romeorizzi/cms
    def create_submission(self, key, submission):
        if submission.user not in self._scores:
            self._scores[submission.user] = dict()
        if submission.task not in self._scores[submission.user]:
            task = task_store.retrieve(submission.task)
            self._scores[submission.user][submission.task] = \
                Score(score_mode=task["score_mode"])

        score_obj = self._scores[submission.user][submission.task]
        old_score = score_obj.get_score()
        score_obj.create_submission(key, submission)
        new_score = score_obj.get_score()
        if old_score != new_score:
            self.notify_callbacks(submission.user, submission.task, new_score)
示例#3
0
    def update_submission(self, key, old_submission, submission):
        if old_submission.user != submission.user or \
                old_submission.task != submission.task:
            # TODO Delete all subchanges from the Score of the old
            # submission and create them on the new one.
            self.delete_submission(key, old_submission)
            self.create_submission(key, submission)
            return

        task = task_store.retrieve(submission.task)

        score_obj = self._scores[submission.user][submission.task]
        old_score = score_obj.get_score()
        score_obj.update_submission(key, submission)
        score_obj.update_score_mode(task["score_mode"])
        new_score = score_obj.get_score()
        if old_score != new_score:
            self.notify_callbacks(submission.user, submission.task, new_score)
示例#4
0
文件: Scoring.py 项目: romeorizzi/cms
    def update_submission(self, key, old_submission, submission):
        if old_submission.user != submission.user or \
                old_submission.task != submission.task:
            # TODO Delete all subchanges from the Score of the old
            # submission and create them on the new one.
            self.delete_submission(key, old_submission)
            self.create_submission(key, submission)
            return

        task = task_store.retrieve(submission.task)

        score_obj = self._scores[submission.user][submission.task]
        old_score = score_obj.get_score()
        score_obj.update_submission(key, submission)
        score_obj.update_score_mode(task["score_mode"])
        new_score = score_obj.get_score()
        if old_score != new_score:
            self.notify_callbacks(submission.user, submission.task, new_score)