feat/dbIntigration #13

Merged
Fabel merged 6 commits from feat/dbIntigration into develop 2024-10-10 07:40:25 +00:00
3 changed files with 28 additions and 6 deletions
Showing only changes of commit 62f42e61a9 - Show all commits

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