su-automod/classes/rating.py

49 lines
1.3 KiB
Python
Executable File

import var
import json
from beloved_logger import logger
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 = []
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)
if self.name in top_level_true:
self.type = "primary"
return True
if self.name in top_level_false:
self.type = "primary"
return False
return False
def create_ratings(response):
ratings = []
for label in response['ModerationLabels']:
rating = Rating(label['Name'], label['Confidence'])
ratings.append(rating)
return ratings