49 lines
1.3 KiB
Python
Executable File
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
|