53 lines
1.5 KiB
Python
53 lines
1.5 KiB
Python
import time
|
|
|
|
# from icecream import ic
|
|
from PyQt6.QtCore import QThread
|
|
from PyQt6.QtCore import pyqtSignal as 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:
|
|
|
|
self.updateSignal.emit(item)
|
|
self.setTextSignal.emit(entry)
|
|
item += 1
|
|
self.progress.emit(item)
|
|
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()
|