split threads into multiple files to fix import loop bug

This commit is contained in:
WorldTeacher
2024-05-07 14:21:59 +02:00
parent 13cfbde6a4
commit bd0f2b9ade
5 changed files with 632 additions and 196 deletions

View File

@@ -0,0 +1,55 @@
import time
from icecream import ic
from PySide6.QtCore import QThread, Signal
from src.backend.database import Database
from src.logic.log import MyLogger
# from src.transformers import RDS_AVAIL_DATA
class AutoAdder(QThread):
updateSignal = Signal(int)
setTextSignal = Signal(int)
progress = Signal(int)
def __init__(self, data=None, app_id=None, prof_id=None, parent=None):
super().__init__(parent)
self.logger = MyLogger("AutoAdder")
self.data = data
self.app_id = app_id
self.prof_id = prof_id
print("Launched AutoAdder")
print(self.data, self.app_id, self.prof_id)
def run(self):
self.db = Database()
# show the dialog, start the thread to gather data and dynamically update progressbar and listwidget
self.logger.log_info("Starting worker thread")
item = 0
for entry in self.data:
try:
# webdata = WebRequest().get_ppn(entry).get_data()
# bd = BibTextTransformer("ARRAY").get_data(webdata).return_data()
# bd.signature = entry
self.updateSignal.emit(item)
self.setTextSignal.emit(entry)
# qsleep
item += 1
self.progress.emit(item)
print(item, len(self.data))
time.sleep(1)
except Exception as e:
print(e)
self.logger.log_exception(
f"The query failed with message {e} for signature {entry}"
)
continue
if item == len(self.data):
self.logger.log_info("Worker thread finished")
# teminate thread
self.finished.emit()