diff --git a/soitool/database.py b/soitool/database.py index 4fad3cee602600555c0d8d277a4a5fb8674dc130..bcf18d828035eadbe2d488f12376319458d95f4f 100644 --- a/soitool/database.py +++ b/soitool/database.py @@ -2,8 +2,6 @@ import os import sqlite3 import json -from threading import Thread -from time import sleep from datetime import datetime from PySide2.QtCore import QTimer import soitool.coder @@ -40,9 +38,6 @@ class Database: def __init__(self): db_exists = os.path.exists(DBPATH) - # For automatic update of codes in CodeBook - self.t = Thread(target=self.update_codebook_auto, daemon=True) - if db_exists: print("Connecting to existing DB.") self.conn = sqlite3.connect(DBPATH) @@ -239,13 +234,11 @@ class Database: def update_codebook_auto(self): """ - Update Codebook if it is less than 10 sec til next update. - """ - print("DB thread started") - while True: - if self.seconds_to_next_update() < 10: - self.update_codebook() - sleep(self.seconds_to_next_update()) + Update Codebook if it is less than 10 sec til next update. + """ + print("Running update_codebook_auto") + if self.seconds_to_next_update() < 10: + self.update_codebook() def add_code_to(self, word, mode="ascii"): """ @@ -289,4 +282,4 @@ class Database: self.conn.execute(stmt, (code, word)) -DB = Database() +db = Database() diff --git a/soitool/main_window.py b/soitool/main_window.py index f762b525d318e159a04f3020c0f1ca47eb566b54..6a88b234cf02c7f025fa031268848e021147df8b 100644 --- a/soitool/main_window.py +++ b/soitool/main_window.py @@ -8,8 +8,9 @@ import os from enum import Enum from PySide2.QtWidgets import QMainWindow, QApplication, QTabWidget, QAction from PySide2.QtGui import QIcon +from PySide2.QtCore import QTimer from soitool.soi_workspace_widget import SOIWorkspaceWidget -from soitool.database import DB +from soitool.database import db class ModuleType(Enum): @@ -28,6 +29,12 @@ class MainWindow(QMainWindow): self.setWindowTitle("SOI-tool") self.statusBar() + # Updateds CodeBook if needed every minute + self.timer = QTimer(self) + self.timer.setInterval(60000) + self.timer.timeout.connect(db.update_codebook_auto) + self.timer.start() + # flytt ut til egen funksjon, for setup av menubar menu = self.menuBar() file_menu = menu.addMenu("SOI") @@ -110,5 +117,4 @@ if __name__ == "__main__": app = QApplication(sys.argv) WINDOW = MainWindow() WINDOW.showMaximized() - DB.t.start() app.exec_()