36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
from views.mainScreen import MainFrame
|
|
from models.data import TextData
|
|
from Ai.interence import VeraMindInference
|
|
|
|
|
|
class MainFrameController:
|
|
|
|
def __init__(self,frame:MainFrame) -> None:
|
|
self.frame = frame
|
|
self.model_inference = VeraMindInference('VeraMind-Mini')
|
|
|
|
|
|
def get_textdata(self) -> TextData:
|
|
text_data = TextData()
|
|
text_data.url = self.frame.entry_url.get()
|
|
if text_data.text_from_url():
|
|
text_data.text = self.frame.input_textbox.get("0.0", "end")
|
|
|
|
return text_data
|
|
|
|
def press_check_button(self):
|
|
text_data = self.get_textdata()
|
|
print(f"text:{text_data.text}")
|
|
self.prediction(text_data)
|
|
self.frame.output_textbox.configure(state="normal")
|
|
self.frame.output_textbox.delete("0.0", "end")
|
|
self.frame.output_textbox.insert("0.0",f"{text_data.get_output()}")
|
|
self.frame.output_textbox.configure(state="disabled")
|
|
|
|
def prediction(self, text_data:TextData) -> TextData:
|
|
result = self.model_inference.predict(text_data.text)
|
|
text_data.confidence = result["confidence"]
|
|
text_data.result = result["result"]
|
|
print(f"Prediction: {text_data.result}")
|
|
print(f"Confidence: {text_data.confidence}")
|
|
return text_data |