Fioceen's picture
Add files
128f42e
raw
history blame contribute delete
984 Bytes
#!/usr/bin/env python3
"""
Worker thread for image processing.
"""
from PyQt5.QtCore import QThread, pyqtSignal
import traceback
try:
from image_postprocess import process_image
except Exception:
process_image = None
IMPORT_ERROR = "Could not import process_image module"
else:
IMPORT_ERROR = None
class Worker(QThread):
finished = pyqtSignal(str)
error = pyqtSignal(str, str) # error message + traceback
def __init__(self, inpath, outpath, args):
super().__init__()
self.inpath = inpath
self.outpath = outpath
self.args = args
def run(self):
try:
if process_image is None:
raise RuntimeError("Could not import process_image: " + (IMPORT_ERROR or "unknown"))
process_image(self.inpath, self.outpath, self.args)
self.finished.emit(self.outpath)
except Exception as e:
tb = traceback.format_exc()
self.error.emit(str(e), tb)