feat/dbIntigration #13
|
@ -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
|
||||||
}
|
}
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue