import time # from icecream import ic from PyQt6.QtCore import QThread from PyQt6.QtCore import pyqtSignal as Signal from src.backend import Database from loguru import logger as log import sys logger = log logger.remove() logger.add("logs/application.log", rotation="1 week", enqueue=True) log.add( "logs/autoadder.log", compression="zip", ) # logger.add(sys.stderr, format="{time} {level} {message}", level="INFO") logger.add(sys.stdout) # 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 logger.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) logger.exception( f"The query failed with message {e} for signature {entry}" ) continue if item == len(self.data): logger.info("Worker thread finished") # teminate thread self.finished.emit()