import logging
-from PyQt4 import QtCore
+import qt_compat
+QtCore = qt_compat.QtCore
import misc
QtCore.QObject.__init__(self)
self._pool = pool
- @QtCore.pyqtSlot(object)
+ @qt_compat.Slot(object)
@misc.log_exception(_moduleLogger)
def _on_task_complete(self, taskResult):
on_success, on_error, isError, result = taskResult
class _WorkerThread(QtCore.QObject):
- taskComplete = QtCore.pyqtSignal(object)
+ taskComplete = qt_compat.Signal(object)
def __init__(self, pool):
QtCore.QObject.__init__(self)
self._pool = pool
- @QtCore.pyqtSlot(object)
+ @qt_compat.Slot(object)
@misc.log_exception(_moduleLogger)
def _on_task_added(self, task):
if not self._pool._isRunning:
taskResult = on_success, on_error, isError, result
self.taskComplete.emit(taskResult)
- @QtCore.pyqtSlot()
+ @qt_compat.Slot()
@misc.log_exception(_moduleLogger)
def _on_stop_requested(self):
- self._thread.quit()
+ self._pool._thread.quit()
class AsyncPool(QtCore.QObject):
- _addTask = QtCore.pyqtSignal(object)
- _stopPool = QtCore.pyqtSignal()
+ _addTask = qt_compat.Signal(object)
+ _stopPool = qt_compat.Signal()
def __init__(self):
QtCore.QObject.__init__(self)
self._thread = QThread44()
- self._isRunning = True
+ self._isRunning = False
self._parent = _ParentThread(self)
self._worker = _WorkerThread(self)
self._worker.moveToThread(self._thread)
def start(self):
self._thread.start()
+ self._isRunning = True
def stop(self):
self._isRunning = False
self._stopPool.emit()
def add_task(self, func, args, kwds, on_success, on_error):
- assert self._isRunning
+ assert self._isRunning, "Task queue not started"
task = func, args, kwds, on_success, on_error
self._addTask.emit(task)