add percentage

This commit is contained in:
Björn Ruthotto 2024-10-08 12:46:23 +02:00
parent 56fc70dfe0
commit 1d962c388f
3 changed files with 35 additions and 6 deletions

Binary file not shown.

View File

@ -81,12 +81,23 @@ class MainFrameController:
self.text_data_list.append(text_data)
def sort_provider(self, text_data_list):
provider_names = [text_data.provider for text_data in text_data_list if text_data.provider]
provider_counts = Counter(provider_names)
# Gruppiere TextData-Objekte nach Provider
provider_groups = {}
for text_data in text_data_list:
if text_data.provider:
if text_data.provider not in provider_groups:
provider_groups[text_data.provider] = []
provider_groups[text_data.provider].append(text_data)
# Zähle die Häufigkeit jedes Providers
provider_counts = Counter(text_data.provider for text_data in text_data_list if text_data.provider)
# Erstelle und sortiere die Provider-Liste
sorted_providers = [
Provider(name, count)
Provider(name, count, provider_groups.get(name, []))
for name, count in sorted(provider_counts.items(), key=lambda x: x[1], reverse=True)
]
return sorted_providers
def update_provider_list(self):
@ -106,7 +117,7 @@ class MainFrameController:
name_label = ctk.CTkLabel(provider_frame, text=provider.title)
name_label.pack(side="left", padx=5)
count_label = ctk.CTkLabel(provider_frame, text=str(provider.count))
count_label = ctk.CTkLabel(provider_frame, text=str(provider.get_fake_percentage())+"%")
count_label.pack(side="right", padx=5)

View File

@ -1,5 +1,23 @@
class Provider():
def __init__(self, title: str, count: int) -> None:
def __init__(self, title: str, count: int, text_data_list) -> None:
self.title = title
self.count = count
self.count = count
self.text_data_list = text_data_list
def get_fake_percentage(self) -> float:
count_all = 0
count_fake = 0
for text_data in self.text_data_list:
print(text_data.is_fake_news)
count_all += 1
if text_data.is_fake_news:
count_fake += 1
if count_all == 0:
return 0.0
return (count_fake / count_all) * 100