results are now saved in db

This commit is contained in:
Björn Ruthotto 2024-10-08 10:12:52 +02:00
parent 2b0b5ec412
commit 62f42e61a9
3 changed files with 28 additions and 6 deletions

View File

@ -34,5 +34,6 @@ class VeraMindInference:
return { return {
"result": "FAKE" if is_fake else "REAL", "result": "FAKE" if is_fake else "REAL",
"confidence": float(confidence) "confidence": float(confidence),
"is_fake": is_fake
} }

View File

@ -1,14 +1,14 @@
from views.mainScreen import MainFrame from views.mainScreen import MainFrame
from models.data import TextData from models.data import TextData
from Ai.interence import VeraMindInference from Ai.interence import VeraMindInference
from utils.database.database import FakeNewsChecker
from urllib.parse import urlparse
class MainFrameController: class MainFrameController:
def __init__(self,frame:MainFrame) -> None: def __init__(self,frame:MainFrame) -> None:
self.frame = frame self.frame = frame
self.model_inference = VeraMindInference('VeraMind-Mini') self.model_inference = VeraMindInference('VeraMind-Mini')
self.db = FakeNewsChecker()
def get_textdata(self) -> TextData: def get_textdata(self) -> TextData:
text_data = TextData() text_data = TextData()
@ -21,7 +21,9 @@ class MainFrameController:
def press_check_button(self): def press_check_button(self):
text_data = self.get_textdata() text_data = self.get_textdata()
print(f"text:{text_data.text}") print(f"text:{text_data.text}")
self.prediction(text_data) text_data = self.prediction(text_data)
self.addDB(textData=text_data)
self.frame.output_textbox.configure(state="normal") self.frame.output_textbox.configure(state="normal")
self.frame.output_textbox.delete("0.0", "end") self.frame.output_textbox.delete("0.0", "end")
self.frame.output_textbox.insert("0.0",f"{text_data.get_output()}") self.frame.output_textbox.insert("0.0",f"{text_data.get_output()}")
@ -31,6 +33,24 @@ class MainFrameController:
result = self.model_inference.predict(text_data.text) result = self.model_inference.predict(text_data.text)
text_data.confidence = result["confidence"] text_data.confidence = result["confidence"]
text_data.result = result["result"] text_data.result = result["result"]
text_data.is_fake_news = result["is_fake"]
print(f"Prediction: {text_data.result}") print(f"Prediction: {text_data.result}")
print(f"Confidence: {text_data.confidence}") print(f"Confidence: {text_data.confidence}")
return text_data return text_data
def addDB(self, textData: TextData):
if self.is_valid_url(textData.url):
parsed_url = urlparse(textData.url)
anbieter = parsed_url.netloc.split('.')[-2] + '.' + parsed_url.netloc.split('.')[-1]
print("Hauptdomain:", anbieter)
self.db.insert_data(url= textData.url, anbieter= anbieter,is_fake_news=textData.is_fake_news)
else:
self.db.insert_data(url= textData.url, anbieter= "None",is_fake_news=textData.is_fake_news)
def is_valid_url(self, url):
try:
result = urlparse(url)
return all([result.scheme, result.netloc])
except ValueError:
return False

View File

@ -5,6 +5,7 @@ class TextData:
self.url = url self.url = url
self.text = "" self.text = ""
self.result = "" self.result = ""
self.is_fake_news = False
self.confidence = None self.confidence = None
self._extractor = None self._extractor = None