import var import json class Rating: name = "" confidence = 0 enabled = False type = "" def __init__(self, name, confidence): self.name = name self.confidence = confidence self.enabled = self.get_status() def __str__(self): return f"‼️ *{self.name}:* {round(self.confidence, 2)}%\n" def get_status(self): with open(var.labels_file, 'r') as file: data = json.load(file) top_level_true = [] top_level_false = [] lower_level_true = [] lower_level_false = [] for top_level_object, top_level_data in data.items(): if top_level_data.get("status") is True: top_level_true.append(top_level_object) elif top_level_data.get("status") is False: top_level_false.append(top_level_object) for lower_level_object, lower_level_status in top_level_data.items(): if lower_level_status is True and lower_level_object != "status": lower_level_true.append(f"{lower_level_object}") elif lower_level_status is False and lower_level_object != "status": lower_level_false.append(f"{lower_level_object}") if self.name in lower_level_true: self.type = "secondary" return True if self.name in top_level_true: self.type = "primary" return True return False def create_ratings(response): ratings = [] for label in response['ModerationLabels']: rating = Rating(label['Name'], label['Confidence']) ratings.append(rating) return ratings