Skip to content

Commit 0d1d1b7

Browse files
committedJun 6, 2013
[sextante] improvements in batch processing interface
1 parent 17ca300 commit 0d1d1b7

File tree

4 files changed

+18
-21
lines changed

4 files changed

+18
-21
lines changed
 

‎python/plugins/sextante/gui/AlgorithmExecutor.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
from sextante.core.SextanteUtils import SextanteUtils
3232
from sextante.tools.vector import getfeatures
3333
from sextante.gui.SextantePostprocessing import SextantePostprocessing
34-
import sextante
3534
import sys
3635

3736
class AlgorithmExecutor(QThread):

‎python/plugins/sextante/gui/BatchInputSelectionPanel.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,26 +52,26 @@ def __init__(self, param, row, col, batchDialog, parent = None):
5252

5353
def showSelectionDialog(self):
5454
settings = QtCore.QSettings()
55-
text = str(self.text.text())
55+
text = unicode(self.text.text())
5656
if os.path.isdir(text):
5757
path = text
5858
elif os.path.isdir(os.path.dirname(text)):
5959
path = os.path.dirname(text)
6060
elif settings.contains("/SextanteQGIS/LastInputPath"):
61-
path = str(settings.value( "/SextanteQGIS/LastInputPath",QtCore.QVariant("")).toString())
61+
path = unicode(settings.value( "/SextanteQGIS/LastInputPath",QtCore.QVariant("")).toString())
6262
else:
6363
path = ""
6464

6565
ret = QtGui.QFileDialog.getOpenFileNames(self, "Open file", path, self.param.getFileFilter())
6666
if ret:
6767
files = list(ret)
6868
if len(files) == 1:
69-
settings.setValue("/SextanteQGIS/LastInputPath", os.path.dirname(str(files[0])))
69+
settings.setValue("/SextanteQGIS/LastInputPath", os.path.dirname(unicode(files[0])))
7070
self.text.setText(str(files[0]))
7171
else:
72-
settings.setValue("/SextanteQGIS/LastInputPath", os.path.dirname(str(files[0])))
72+
settings.setValue("/SextanteQGIS/LastInputPath", os.path.dirname(unicode(files[0])))
7373
if isinstance(self.param, ParameterMultipleInput):
74-
self.text.setText(";".join(str(f) for f in files))
74+
self.text.setText(";".join(unicode(f) for f in files))
7575
else:
7676
rowdif = len(files) - (self.table.rowCount() - self.row)
7777
for i in range(rowdif):

‎python/plugins/sextante/gui/BatchOutputSelectionPanel.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ def showSelectionDialog(self):
6262
filefilter = self.output.getFileFilter(self.alg)
6363
filename = QtGui.QFileDialog.getSaveFileName(self, "Save file", QtCore.QString(), filefilter)
6464
if filename:
65-
filename = str(filename)
65+
filename = unicode(filename)
6666
dlg = AutofillDialog(self.alg)
6767
dlg.exec_()
6868
if dlg.mode != None:
@@ -81,7 +81,7 @@ def showSelectionDialog(self):
8181
widget = self.table.cellWidget(i+self.row, dlg.param)
8282
param = self.alg.parameters[dlg.param]
8383
if isinstance(param, (ParameterRaster, ParameterVector, ParameterTable, ParameterMultipleInput)):
84-
s = str(widget.getText())
84+
s = unicode(widget.getText())
8585
s = os.path.basename(s)
8686
s= s[:s.rfind(".")]
8787
elif isinstance(param, ParameterBoolean):
@@ -91,7 +91,7 @@ def showSelectionDialog(self):
9191
elif isinstance(param, ParameterFixedTable):
9292
s = str(widget.table)
9393
else:
94-
s = str(widget.text())
94+
s = unicode(widget.text())
9595
name = filename[:filename.rfind(".")] + s + filename[filename.rfind("."):]
9696
self.table.cellWidget(i + self.row, self.col).setValue(name)
9797
except:
@@ -100,5 +100,5 @@ def setValue(self, text):
100100
return self.text.setText(text)
101101

102102
def getValue(self):
103-
return str(self.text.text())
103+
return unicode(self.text.text())
104104

‎python/plugins/sextante/gui/BatchProcessingDialog.py

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,7 @@ def accept(self):
154154
continue
155155
widget = self.table.cellWidget(row, col)
156156
if not self.setParameterValueFromWidget(param, widget, alg):
157-
self.progressLabel.setText("<b>Missing parameter value: " + param.description + " (row " + str(row + 1) + ")</b>")
158-
#QMessageBox.critical(self, "Unable to execute batch process", "Wrong or missing parameter values")
157+
self.progressLabel.setText("<b>Missing parameter value: " + param.description + " (row " + str(row + 1) + ")</b>")
159158
self.algs = None
160159
return
161160
col+=1
@@ -168,8 +167,7 @@ def accept(self):
168167
out.value = text
169168
col+=1
170169
else:
171-
self.progressLabel.setText("<b>Wrong or missing parameter value: " + out.description + " (row " + str(row + 1) + ")</b>")
172-
#QMessageBox.critical(self, "Unable to execute batch process", "Wrong or missing parameter values")
170+
self.progressLabel.setText("<b>Wrong or missing parameter value: " + out.description + " (row " + str(row + 1) + ")</b>")
173171
self.algs = None
174172
return
175173
self.algs.append(alg)
@@ -179,15 +177,14 @@ def accept(self):
179177
QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
180178
self.table.setEnabled(False)
181179
if SextanteConfig.getSetting(SextanteConfig.USE_THREADS):
180+
self.tabWidget.setCurrentIndex(1)
182181
self.nextAlg(0)
183182
else:
184183
i=0
185184
self.progress.setMaximum(len(self.algs))
186185
for alg in self.algs:
187186
self.setBaseText("Processing algorithm " + str(i+1) + "/" + str(len(self.algs)) + "...")
188187
if UnthreadedAlgorithmExecutor.runalg(alg, self):
189-
#self.progress.setValue(i)
190-
#self.loadHTMLResults(alg, i)
191188
if self.load[i]:
192189
SextantePostprocessing.handleAlgorithmResults(alg, self, False)
193190
i+=1
@@ -209,15 +206,13 @@ def cancel(self):
209206
if self.algEx:
210207
self.algEx.terminate()
211208
self.table.setEnabled(True)
212-
#self.close()
213209

214210
@pyqtSlot()
215211
def finish(self, i):
216212
if not self.stop:
217213
if self.load[i]:
218214
SextantePostprocessing.handleAlgorithmResults(self.algs[i], self, False)
219215
i += 1
220-
#self.progress.setValue(i)
221216
if len(self.algs) == i:
222217
self.finishAll()
223218
self.algEx = None
@@ -232,17 +227,21 @@ def error(self, msg):
232227
if self.algEx:
233228
self.algEx.terminate()
234229
self.table.setEnabled(True)
235-
#self.close()
236230

237231

238232
def nextAlg(self, i):
239233
self.stop = False
240-
self.setBaseText("Processing algorithm " + str(i) + "/" + str(len(self.algs)) + "...")
234+
self.setBaseText("Processing algorithm " + str(i + 1) + "/" + str(len(self.algs)) + "...")
241235
self.algEx = AlgorithmExecutor(self.algs[i]);
242236
self.algEx.percentageChanged.connect(self.setPercentage)
243237
self.algEx.textChanged.connect(self.setText)
244238
self.algEx.error.connect(self.error)
245239
self.algEx.finished.connect(lambda: self.finish(i))
240+
self.algEx.infoSet.connect(self.setInfo)
241+
if SextanteConfig.getSetting(SextanteConfig.SHOW_DEBUG_IN_DIALOG):
242+
self.algEx.commandSet.connect(self.setCommand)
243+
self.algEx.debugInfoSet.connect(self.setDebugInfo)
244+
self.algEx.consoleInfoSet.connect(self.setConsoleInfo)
246245
self.algEx.start()
247246

248247
def createSummaryTable(self):
@@ -273,7 +272,6 @@ def finishAll(self):
273272
QApplication.restoreOverrideCursor()
274273
self.table.setEnabled(True)
275274
QMessageBox.information(self, "Batch processing", "Batch processing successfully completed!")
276-
#self.close()
277275

278276
def setParameterValueFromWidget(self, param, widget, alg = None):
279277
if isinstance(param, (ParameterRaster, ParameterVector, ParameterTable, ParameterMultipleInput)):

0 commit comments

Comments
 (0)
Please sign in to comment.