From 5d8a4101c16ea6189602127c60ec707173047776 Mon Sep 17 00:00:00 2001 From: stud203799 Date: Mon, 27 Apr 2026 14:21:35 +0300 Subject: [PATCH] =?UTF-8?q?=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B8?= =?UTF-8?q?=20generate=5Fsummary=5Freport?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 386afa5..fba4c72 100644 --- a/main.py +++ b/main.py @@ -106,8 +106,26 @@ def detect_anomalies(reviews: list, sentiment_threshold: float = 0.5): return anomalys -def generate_summary_report(valid_reviews: list, all_reviews_count: int, anomalies: list): - return dict +def generate_summary_report(valid_reviews: list, all_reviews: list, spam_indicators: list, anomalies: list): + spam_count = 0 + for i in all_reviews: + if is_spam(i.get('text'), spam_indicators): + spam_count += 1 + + summ = 0 + for i in valid_reviews: + summ += i.get('sentiment') + avg_sent = summ / len(valid_reviews) + + summary_report = { + "total_processed": len(all_reviews), + "valid_count": len(valid_reviews), + "spam_count": spam_count, + "avg_sentiment": avg_sent, + "topic_ratings": calculate_average_rating_by_topic(valid_reviews), + "anomaly_ids": anomalies, + } + return summary_report def main():