add Controller
This commit is contained in:
parent
c7d990f180
commit
f30490a676
|
@ -0,0 +1,10 @@
|
||||||
|
from views.mainScreen import MainFrame
|
||||||
|
from models.data import TextData
|
||||||
|
class MainFrameController:
|
||||||
|
|
||||||
|
def __init__(self,frame:MainFrame) -> None:
|
||||||
|
self.frame = frame
|
||||||
|
self.text_data = TextData()
|
||||||
|
|
||||||
|
def get_entry(self):
|
||||||
|
self.text_data.url = self.frame.entry_url.get()
|
|
@ -1,5 +1,6 @@
|
||||||
import customtkinter
|
import customtkinter
|
||||||
from views.mainScreen import MainFrame
|
from views.mainScreen import MainFrame
|
||||||
|
from controller.mainFrameController import MainFrameController
|
||||||
class Main(customtkinter.CTk):
|
class Main(customtkinter.CTk):
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
|
@ -10,12 +11,14 @@ class Main(customtkinter.CTk):
|
||||||
|
|
||||||
mainFrame = MainFrame(self)
|
mainFrame = MainFrame(self)
|
||||||
mainFrame.grid(row=0, column=0, padx=10, pady=10,sticky="nsew")
|
mainFrame.grid(row=0, column=0, padx=10, pady=10,sticky="nsew")
|
||||||
|
controller_mainframe = MainFrameController(mainFrame)
|
||||||
self.title("VeracityAI")
|
self.title("VeracityAI")
|
||||||
self.geometry("800x500")
|
self.geometry("800x500")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
customtkinter.deactivate_automatic_dpi_awareness()
|
customtkinter.deactivate_automatic_dpi_awareness()
|
||||||
|
customtkinter.set_default_color_theme('theme.json')
|
||||||
customtkinter.set_appearance_mode("dark")
|
customtkinter.set_appearance_mode("dark")
|
||||||
app = Main()
|
app = Main()
|
||||||
app.mainloop()
|
app.mainloop()
|
|
@ -0,0 +1,11 @@
|
||||||
|
from utils.webTextExtractor import WebTextExtractor
|
||||||
|
|
||||||
|
class TextData:
|
||||||
|
def __init__(self) -> None:
|
||||||
|
self.url = ""
|
||||||
|
self.text = ""
|
||||||
|
|
||||||
|
def text_from_url(self):
|
||||||
|
if self.url is not "" and self.text == "":
|
||||||
|
extractor = WebTextExtractor(self.url)
|
||||||
|
self.text = extractor.get_text()
|
|
@ -6,6 +6,9 @@ class WebTextExtractor:
|
||||||
self.url = url
|
self.url = url
|
||||||
self.content = None
|
self.content = None
|
||||||
self.text = None
|
self.text = None
|
||||||
|
|
||||||
|
self.fetch_content()
|
||||||
|
self.extract_text()
|
||||||
|
|
||||||
def fetch_content(self):
|
def fetch_content(self):
|
||||||
"""Holt den HTML-Inhalt von der Webseite."""
|
"""Holt den HTML-Inhalt von der Webseite."""
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
from typing import Any
|
from typing import Any
|
||||||
import customtkinter as ctk
|
import customtkinter as ctk
|
||||||
|
|
||||||
class MainFrame(ctk.CTkFrame):
|
class MainFrame(ctk.CTkFrame):
|
||||||
|
|
||||||
def __init__(self, master: Any, **kwargs):
|
def __init__(self, master: Any, **kwargs):
|
||||||
|
@ -13,28 +12,28 @@ class MainFrame(ctk.CTkFrame):
|
||||||
self.grid_columnconfigure(2, weight=1) # Rechte Spalte soll sich dehnen
|
self.grid_columnconfigure(2, weight=1) # Rechte Spalte soll sich dehnen
|
||||||
|
|
||||||
# Linkes Frame
|
# Linkes Frame
|
||||||
frame1 = ctk.CTkFrame(self)
|
self.frame1 = ctk.CTkFrame(self)
|
||||||
frame1.grid(row=0, column=0, sticky="nsew", padx=10, pady=10)
|
self.frame1.grid(row=0, column=0, sticky="nsew", padx=10, pady=10)
|
||||||
frame1.grid_rowconfigure(2, weight=1) # Lasse die Output-Textbox wachsen
|
self.frame1.grid_rowconfigure(2, weight=1) # Lasse die Output-Textbox wachsen
|
||||||
frame1.grid_columnconfigure(0, weight=1) # Lasse frame1 horizontal wachsen
|
self.frame1.grid_columnconfigure(0, weight=1) # Lasse frame1 horizontal wachsen
|
||||||
|
|
||||||
entry_url = ctk.CTkEntry(frame1, placeholder_text='Web link to article', height=50)
|
self.entry_url = ctk.CTkEntry(self.frame1, placeholder_text='Web link to article', height=50)
|
||||||
entry_url.grid(row=0, column=0, padx=10, pady=10, sticky="ew")
|
self.entry_url.grid(row=0, column=0, padx=10, pady=10, sticky="ew")
|
||||||
|
|
||||||
input_textbox = ctk.CTkTextbox(frame1, height=200)
|
self.input_textbox = ctk.CTkTextbox(self.frame1, height=200)
|
||||||
input_textbox.grid(row=1, column=0, padx=10, pady=10, sticky="nsew")
|
self.input_textbox.grid(row=1, column=0, padx=10, pady=10, sticky="nsew")
|
||||||
|
|
||||||
output_textbox = ctk.CTkTextbox(frame1, height=150, state="disabled")
|
self.output_textbox = ctk.CTkTextbox(self.frame1, height=150, state="disabled")
|
||||||
output_textbox.grid(row=2, column=0, padx=10, pady=10, sticky="nsew")
|
self.output_textbox.grid(row=2, column=0, padx=10, pady=10, sticky="nsew")
|
||||||
|
|
||||||
# Mittlerer Button
|
# Mittlerer Button
|
||||||
check_button = ctk.CTkButton(self, text="Check", width=60, height=300, fg_color="green")
|
self.check_button = ctk.CTkButton(self, text="Check", width=60, height=300)
|
||||||
check_button.grid(row=0, column=1, padx=10, pady=10, sticky="nsew")
|
self.check_button.grid(row=0, column=1, padx=10, pady=10, sticky="nsew")
|
||||||
|
|
||||||
# Rechte scrollbare Ansicht
|
# Rechte scrollbare Ansicht
|
||||||
scrollview = ctk.CTkScrollableFrame(self)
|
self.scrollview = ctk.CTkScrollableFrame(self)
|
||||||
scrollview.grid(row=0, column=2, padx=10, pady=10, sticky="nsew")
|
self.scrollview.grid(row=0, column=2, padx=10, pady=10, sticky="nsew")
|
||||||
|
|
||||||
# Überschrift hinzufügen
|
# Überschrift hinzufügen
|
||||||
header = ctk.CTkLabel(scrollview, text="Leaderboard", font=("Arial", 24, "bold"))
|
self.header = ctk.CTkLabel(self.scrollview, text="Leaderboard", font=("Arial", 24, "bold"))
|
||||||
header.pack(pady=10, padx=10, anchor="w")
|
self.header.pack(pady=10, padx=10, anchor="w")
|
|
@ -0,0 +1,359 @@
|
||||||
|
{
|
||||||
|
"CTk": {
|
||||||
|
"fg_color": [
|
||||||
|
"gray92",
|
||||||
|
"gray14"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkToplevel": {
|
||||||
|
"fg_color": [
|
||||||
|
"gray92",
|
||||||
|
"gray14"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkFrame": {
|
||||||
|
"corner_radius": 6,
|
||||||
|
"border_width": 0,
|
||||||
|
"fg_color": [
|
||||||
|
"gray86",
|
||||||
|
"gray17"
|
||||||
|
],
|
||||||
|
"top_fg_color": [
|
||||||
|
"gray81",
|
||||||
|
"gray20"
|
||||||
|
],
|
||||||
|
"border_color": [
|
||||||
|
"gray65",
|
||||||
|
"gray28"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkButton": {
|
||||||
|
"corner_radius": 6,
|
||||||
|
"border_width": 0,
|
||||||
|
"fg_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#008080"
|
||||||
|
],
|
||||||
|
"hover_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#00bfbf"
|
||||||
|
],
|
||||||
|
"border_color": [
|
||||||
|
"#3E454A",
|
||||||
|
"#949A9F"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"#DCE4EE",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"text_color_disabled": [
|
||||||
|
"gray74",
|
||||||
|
"gray60"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkLabel": {
|
||||||
|
"corner_radius": 0,
|
||||||
|
"fg_color": "transparent",
|
||||||
|
"text_color": [
|
||||||
|
"gray10",
|
||||||
|
"#DCE4EE"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkEntry": {
|
||||||
|
"corner_radius": 6,
|
||||||
|
"border_width": 2,
|
||||||
|
"fg_color": [
|
||||||
|
"#F9F9FA",
|
||||||
|
"#343638"
|
||||||
|
],
|
||||||
|
"border_color": [
|
||||||
|
"#979DA2",
|
||||||
|
"#565B5E"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"gray10",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"placeholder_text_color": [
|
||||||
|
"gray52",
|
||||||
|
"gray62"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkCheckBox": {
|
||||||
|
"corner_radius": 6,
|
||||||
|
"border_width": 3,
|
||||||
|
"fg_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#008080"
|
||||||
|
],
|
||||||
|
"border_color": [
|
||||||
|
"#3E454A",
|
||||||
|
"#949A9F"
|
||||||
|
],
|
||||||
|
"hover_color": [
|
||||||
|
"#00ffff",
|
||||||
|
"#009595"
|
||||||
|
],
|
||||||
|
"checkmark_color": [
|
||||||
|
"#DCE4EE",
|
||||||
|
"gray90"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"gray10",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"text_color_disabled": [
|
||||||
|
"gray60",
|
||||||
|
"gray45"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkSwitch": {
|
||||||
|
"corner_radius": 1000,
|
||||||
|
"border_width": 3,
|
||||||
|
"button_length": 0,
|
||||||
|
"fg_color": [
|
||||||
|
"#939BA2",
|
||||||
|
"#4A4D50"
|
||||||
|
],
|
||||||
|
"progress_color": [
|
||||||
|
"#55ffff",
|
||||||
|
"#00bfbf"
|
||||||
|
],
|
||||||
|
"button_color": [
|
||||||
|
"gray36",
|
||||||
|
"#D5D9DE"
|
||||||
|
],
|
||||||
|
"button_hover_color": [
|
||||||
|
"gray20",
|
||||||
|
"gray100"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"gray10",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"text_color_disabled": [
|
||||||
|
"gray60",
|
||||||
|
"gray45"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkRadioButton": {
|
||||||
|
"corner_radius": 1000,
|
||||||
|
"border_width_checked": 6,
|
||||||
|
"border_width_unchecked": 3,
|
||||||
|
"fg_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#008080"
|
||||||
|
],
|
||||||
|
"border_color": [
|
||||||
|
"#3E454A",
|
||||||
|
"#949A9F"
|
||||||
|
],
|
||||||
|
"hover_color": [
|
||||||
|
"#36719F",
|
||||||
|
"#144870"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"gray10",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"text_color_disabled": [
|
||||||
|
"gray60",
|
||||||
|
"gray45"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkProgressBar": {
|
||||||
|
"corner_radius": 1000,
|
||||||
|
"border_width": 0,
|
||||||
|
"fg_color": [
|
||||||
|
"#939BA2",
|
||||||
|
"#4A4D50"
|
||||||
|
],
|
||||||
|
"progress_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#008080"
|
||||||
|
],
|
||||||
|
"border_color": [
|
||||||
|
"gray",
|
||||||
|
"gray"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkSlider": {
|
||||||
|
"corner_radius": 1000,
|
||||||
|
"button_corner_radius": 1000,
|
||||||
|
"border_width": 6,
|
||||||
|
"button_length": 0,
|
||||||
|
"fg_color": [
|
||||||
|
"#939BA2",
|
||||||
|
"#4A4D50"
|
||||||
|
],
|
||||||
|
"progress_color": [
|
||||||
|
"gray40",
|
||||||
|
"#AAB0B5"
|
||||||
|
],
|
||||||
|
"button_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#008080"
|
||||||
|
],
|
||||||
|
"button_hover_color": [
|
||||||
|
"#55ffff",
|
||||||
|
"#00bfbf"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkOptionMenu": {
|
||||||
|
"corner_radius": 6,
|
||||||
|
"fg_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#008080"
|
||||||
|
],
|
||||||
|
"button_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#006a6a"
|
||||||
|
],
|
||||||
|
"button_hover_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#00bfbf"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"#DCE4EE",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"text_color_disabled": [
|
||||||
|
"gray74",
|
||||||
|
"gray60"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkComboBox": {
|
||||||
|
"corner_radius": 6,
|
||||||
|
"border_width": 2,
|
||||||
|
"fg_color": [
|
||||||
|
"#F9F9FA",
|
||||||
|
"#343638"
|
||||||
|
],
|
||||||
|
"border_color": [
|
||||||
|
"#979DA2",
|
||||||
|
"#565B5E"
|
||||||
|
],
|
||||||
|
"button_color": [
|
||||||
|
"#979DA2",
|
||||||
|
"#565B5E"
|
||||||
|
],
|
||||||
|
"button_hover_color": [
|
||||||
|
"#6E7174",
|
||||||
|
"#7A848D"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"gray10",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"text_color_disabled": [
|
||||||
|
"gray50",
|
||||||
|
"gray45"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkScrollbar": {
|
||||||
|
"corner_radius": 1000,
|
||||||
|
"border_spacing": 4,
|
||||||
|
"fg_color": "transparent",
|
||||||
|
"button_color": [
|
||||||
|
"gray55",
|
||||||
|
"gray41"
|
||||||
|
],
|
||||||
|
"button_hover_color": [
|
||||||
|
"gray40",
|
||||||
|
"gray53"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkSegmentedButton": {
|
||||||
|
"corner_radius": 6,
|
||||||
|
"border_width": 2,
|
||||||
|
"fg_color": [
|
||||||
|
"#979DA2",
|
||||||
|
"gray29"
|
||||||
|
],
|
||||||
|
"selected_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#008080"
|
||||||
|
],
|
||||||
|
"selected_hover_color": [
|
||||||
|
"#80ffff",
|
||||||
|
"#00bfbf"
|
||||||
|
],
|
||||||
|
"unselected_color": [
|
||||||
|
"#979DA2",
|
||||||
|
"gray29"
|
||||||
|
],
|
||||||
|
"unselected_hover_color": [
|
||||||
|
"gray70",
|
||||||
|
"gray41"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"#DCE4EE",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"text_color_disabled": [
|
||||||
|
"gray74",
|
||||||
|
"gray60"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkTextbox": {
|
||||||
|
"corner_radius": 6,
|
||||||
|
"border_width": 0,
|
||||||
|
"fg_color": [
|
||||||
|
"#F9F9FA",
|
||||||
|
"#1D1E1E"
|
||||||
|
],
|
||||||
|
"border_color": [
|
||||||
|
"#979DA2",
|
||||||
|
"#565B5E"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"gray10",
|
||||||
|
"#DCE4EE"
|
||||||
|
],
|
||||||
|
"scrollbar_button_color": [
|
||||||
|
"gray55",
|
||||||
|
"gray41"
|
||||||
|
],
|
||||||
|
"scrollbar_button_hover_color": [
|
||||||
|
"gray40",
|
||||||
|
"gray53"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkScrollableFrame": {
|
||||||
|
"label_fg_color": [
|
||||||
|
"gray78",
|
||||||
|
"gray23"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"DropdownMenu": {
|
||||||
|
"fg_color": [
|
||||||
|
"gray90",
|
||||||
|
"gray20"
|
||||||
|
],
|
||||||
|
"hover_color": [
|
||||||
|
"gray75",
|
||||||
|
"gray28"
|
||||||
|
],
|
||||||
|
"text_color": [
|
||||||
|
"gray10",
|
||||||
|
"gray90"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"CTkFont": {
|
||||||
|
"macOS": {
|
||||||
|
"family": "SF Display",
|
||||||
|
"size": 13,
|
||||||
|
"weight": "normal"
|
||||||
|
},
|
||||||
|
"Windows": {
|
||||||
|
"family": "Roboto",
|
||||||
|
"size": 13,
|
||||||
|
"weight": "normal"
|
||||||
|
},
|
||||||
|
"Linux": {
|
||||||
|
"family": "Roboto",
|
||||||
|
"size": 13,
|
||||||
|
"weight": "normal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue