add percentage
This commit is contained in:
parent
56fc70dfe0
commit
1d962c388f
Binary file not shown.
|
@ -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)
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue