Skip to content

Commit 909ad12

Browse files
Update FEEDBACK_EVALUATOR_ID = 6
1 parent f709a67 commit 909ad12

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

app/feedback_evaluator.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,18 +152,29 @@ class PredefenceEightToTenMinutesNoSlideCheckFeedbackEvaluator(FeedbackEvaluator
152152
FEEDBACK_EVALUATOR_ID = 6
153153

154154
def __init__(self, weights=None):
155+
self.ssd_criterion = None
155156
if weights is None:
156157
weights = {
157-
"PredefenceStrictSpeechDurationCriterion": 0.6,
158+
"StrictSpeechDurationCriterion": 0.6,
158159
"DEFAULT_SPEECH_PACE_CRITERION": 0.2,
159160
"DEFAULT_FILLERS_NUMBER_CRITERION": 0.2,
160161
}
161162

162163
super().__init__(name=PredefenceEightToTenMinutesNoSlideCheckFeedbackEvaluator.CLASS_NAME, weights=weights)
163164

165+
def find_strict_speech_duration_criterion(self, criteria_keys, suffix='StrictSpeechDurationCriterion'):
166+
for criteria in criteria_keys:
167+
if suffix in criteria:
168+
return criteria
169+
164170
def evaluate_feedback(self, criteria_results):
165-
if not criteria_results.get("PredefenceStrictSpeechDurationCriterion") or \
166-
criteria_results["PredefenceStrictSpeechDurationCriterion"].result == 0:
171+
ssd_criterion = self.find_strict_speech_duration_criterion(criteria_results.keys())
172+
if ssd_criterion:
173+
# replace critetion weights
174+
self.weights[ssd_criterion] = self.weights.pop('StrictSpeechDurationCriterion')
175+
self.ssd_criterion = ssd_criterion
176+
if not criteria_results.get(self.ssd_criterion) or \
177+
criteria_results[self.ssd_criterion].result == 0:
167178
return Feedback(0)
168179
if not criteria_results.get("DEFAULT_SPEECH_PACE_CRITERION") or \
169180
criteria_results["DEFAULT_SPEECH_PACE_CRITERION"].result == 0:
@@ -172,7 +183,7 @@ def evaluate_feedback(self, criteria_results):
172183

173184
def get_result_as_sum_str(self, criteria_results):
174185
if criteria_results is None or self.weights is None or \
175-
criteria_results.get("PredefenceStrictSpeechDurationCriterion", {}).get('result', 0) == 0 or \
186+
criteria_results.get(self.ssd_criterion, {}).get('result', 0) == 0 or \
176187
criteria_results.get("DEFAULT_SPEECH_PACE_CRITERION", {}).get('result', 0) == 0:
177188
return None
178189
return super().get_result_as_sum_str(criteria_results)

0 commit comments

Comments
 (0)