import time # from icecream import ic from PySide6.QtCore import QThread from PySide6.QtCore import Signal as Signal from src.backend import Database import loguru import sys from src import LOG_DIR log = loguru.logger log.remove() log.add(sys.stdout, level="INFO") log.add(f"{LOG_DIR}/application.log", rotation="1 MB", retention="10 days") # 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.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 log.info("Starting worker thread") item = 0 for entry in self.data: try: self.updateSignal.emit(item) self.setTextSignal.emit(entry) item += 1 self.progress.emit(item) time.sleep(1) except Exception as e: # print(e) log.exception( f"The query failed with message {e} for signature {entry}" ) continue if item == len(self.data): log.info("Worker thread finished") # teminate thread self.finished.emit()