Skip to content

Commit

Permalink
Fix purge object process passing (#493)
Browse files Browse the repository at this point in the history
  • Loading branch information
rhinoella authored Mar 20, 2024
1 parent ade4cd4 commit ca88a27
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 11 deletions.
11 changes: 6 additions & 5 deletions gudpy/gui/widgets/core/control.py
Original file line number Diff line number Diff line change
Expand Up @@ -391,7 +391,7 @@ def startProcess(self) -> None:

# Check purge if process has purge attribute
if not self.gudpy.purge:
purgeResult = QMessageBox.No
purgeResult = None
if os.path.exists(
os.path.join(
self.gudpy.projectDir, "Purge", "purge_det.dat"
Expand All @@ -412,7 +412,7 @@ def startProcess(self) -> None:
self.gudpy.purge.start()
self.gudpy.purge.finished.connect(self.startProcess)
return
else:
elif purgeResult != QMessageBox.No:
self.mainWidget.processStopped()
return
self.workerThread.purge = self.gudpy.purge
Expand Down Expand Up @@ -459,7 +459,7 @@ def runGudrun(self, gudrunFile=None):
if not self.prepareRun():
return

self.gudpy.gudrun = worker.GudrunWorker(gudrunFile)
self.gudpy.gudrun = worker.GudrunWorker(gudrunFile, self.gudpy.purge)
self.connectProcessSignals(
process=self.gudpy.gudrun, onFinish=self.gudrunFinished
)
Expand All @@ -485,15 +485,15 @@ def iterateGudrun(self, dialog):
# If Composition iterator, initialise Composition Worker
if iterationDialog.iteratorType == iterators.Composition:
self.gudpy.gudrunIterator = worker.CompositionWorker(
self.gudpy.iterator, self.gudpy.gudrunFile)
self.gudpy.iterator, self.gudpy.gudrunFile, self.gudpy.purge)
self.connectProcessSignals(
process=self.gudpy.gudrunIterator,
onFinish=self.compositionIterationFinished
)
# Else use standard GudrunIteratorWorker
else:
self.gudpy.gudrunIterator = worker.GudrunIteratorWorker(
self.gudpy.iterator, self.gudpy.gudrunFile)
self.gudpy.iterator, self.gudpy.gudrunFile, self.gudpy.purge)
self.connectProcessSignals(
process=self.gudpy.gudrunIterator,
onFinish=self.gudrunFinished
Expand Down Expand Up @@ -574,6 +574,7 @@ def runBatchProcessing(self):
)
self.gudpy.gudrunIterator = worker.BatchWorker(
gudrunFile=self.gudpy.gudrunFile,
purge=self.gudpy.purge,
iterator=dialog.iterator,
batchSize=dialog.batchSize,
stepSize=dialog.stepSize,
Expand Down
19 changes: 13 additions & 6 deletions gudpy/gui/widgets/core/worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,14 @@ class GudrunWorker(Worker, gudpy.Gudrun):
def __init__(
self,
gudrunFile: GudrunFile,
purge: PurgeWorker = None,
iterator: Iterator = None
):
super().__init__()
self.name = "Gudrun"
self.gudrunFile = gudrunFile
self.iterator = iterator
self.purge = purge
self.purge = None
self.progress = 0

Expand Down Expand Up @@ -129,13 +131,14 @@ class IteratorBaseWorker(QThread):
finished = Signal(int)

def __init__(
self,
iterator: iterators.Iterator,
gudrunFile: GudrunFile,
self,
iterator: iterators.Iterator,
gudrunFile: GudrunFile,
purge: PurgeWorker = None,
):
super().__init__(iterator=iterator, gudrunFile=gudrunFile)
self.gudrunObjects = []
self.purge = None
self.purge = purge
self.output = {}
self.error = ""

Expand Down Expand Up @@ -174,17 +177,19 @@ def __init__(
self,
iterator: iterators.Iterator,
gudrunFile: GudrunFile,
purge: PurgeWorker = None,
):
super().__init__(iterator=iterator, gudrunFile=gudrunFile)
super().__init__(iterator=iterator, gudrunFile=gudrunFile, purge=purge)


class CompositionWorker(IteratorBaseWorker, gudpy.CompositionIterator):
def __init__(
self,
iterator: iterators.Composition,
gudrunFile: GudrunFile,
purge: PurgeWorker = None,
):
super().__init__(iterator=iterator, gudrunFile=gudrunFile)
super().__init__(iterator=iterator, gudrunFile=gudrunFile, purge=purge)

def run(self):
exitcode, error = self.iterate(purge=self.purge)
Expand All @@ -196,6 +201,7 @@ class BatchWorker(IteratorBaseWorker, gudpy.BatchProcessing):
def __init__(
self,
gudrunFile: GudrunFile,
purge: PurgeWorker = None,
iterator: iterators.Iterator = None,
batchSize=1,
stepSize=1,
Expand All @@ -205,6 +211,7 @@ def __init__(
):
super().__init__(
gudrunFile=gudrunFile,
purge=purge,
iterator=iterator,
batchSize=batchSize,
stepSize=stepSize,
Expand Down

0 comments on commit ca88a27

Please sign in to comment.