From 03d236cc5b91aec7dc5ec2b0ee46d35bcd097c47 Mon Sep 17 00:00:00 2001 From: Ivan Zlobin Date: Fri, 27 Jun 2025 01:48:39 +0300 Subject: [PATCH] Added check for total words --- app/training_processor.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/training_processor.py b/app/training_processor.py index c7abc4c6..721601bc 100644 --- a/app/training_processor.py +++ b/app/training_processor.py @@ -12,7 +12,7 @@ from app.training import Training logger = get_root_logger(service_name='training_processor') - +TOTAL_WORDS_CRITERIA = 1e10 class TrainingProcessor: def run(self): @@ -60,6 +60,16 @@ def run(self): continue presentation = Presentation.from_json_file(presentation_file) presentation_file.close() + if audio.audio_stats['total_words'] < TOTAL_WORDS_CRITERIA * audio.audio_stats['duration']: + TrainingsDBManager().change_training_status_by_training_id( + training_id, TrainingStatus.PROCESSING_FAILED + ) + verdict = 'Not enough words, total words = {}, duration = {}, training_id = {}.'\ + .format(audio.audio_stats['total_words'], audio.audio_stats['duration'], training_id) + TrainingsDBManager().append_verdict(training_id, verdict) + TrainingsDBManager().set_score(training_id, 0) + logger.warning(verdict) + continue criteria_pack_id = training_db.criteria_pack_id criteria_pack = CriteriaPackFactory().get_criteria_pack(criteria_pack_id) criteria_pack_db = CriterionPackDBManager().get_criterion_pack_by_name(criteria_pack.name)