Skip to content

Commit 2c4eb3c

Browse files
committedDec 1, 2016
[processing] allow selecting multiple file in ‘add script from file’
1 parent 91d0f1e commit 2c4eb3c

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed
 

‎python/plugins/processing/script/AddScriptFromFileAction.py

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -52,20 +52,28 @@ def getIcon(self):
5252
def execute(self):
5353
settings = QSettings()
5454
lastDir = settings.value('Processing/lastScriptsDir', '')
55-
filename, selected_filter = QFileDialog.getOpenFileName(self.toolbox,
55+
filenames, selected_filter = QFileDialog.getOpenFileNames(self.toolbox,
5656
self.tr('Script files', 'AddScriptFromFileAction'), lastDir,
5757
self.tr('Script files (*.py *.PY)', 'AddScriptFromFileAction'))
58-
if filename:
59-
try:
60-
settings.setValue('Processing/lastScriptsDir',
61-
QFileInfo(filename).absoluteDir().absolutePath())
62-
script = ScriptAlgorithm(filename)
63-
except WrongScriptException:
58+
if filenames:
59+
validAlgs = 0
60+
wrongAlgs = []
61+
for filename in filenames:
62+
try:
63+
settings.setValue('Processing/lastScriptsDir',
64+
QFileInfo(filename).absoluteDir().absolutePath())
65+
script = ScriptAlgorithm(filename)
66+
destFilename = os.path.join(ScriptUtils.scriptsFolders()[0], os.path.basename(filename))
67+
with open(destFilename, 'w') as f:
68+
f.write(script.script)
69+
validAlgs += 1
70+
except WrongScriptException:
71+
wrongAlgs.append(os.path.basename(filename))
72+
if validAlgs:
73+
algList.reloadProvider('script')
74+
if wrongAlgs:
6475
QMessageBox.warning(self.toolbox,
65-
self.tr('Error reading script', 'AddScriptFromFileAction'),
66-
self.tr('The selected file does not contain a valid script', 'AddScriptFromFileAction'))
67-
return
68-
destFilename = os.path.join(ScriptUtils.scriptsFolders()[0], os.path.basename(filename))
69-
with open(destFilename, 'w') as f:
70-
f.write(script.script)
71-
algList.reloadProvider('script')
76+
self.tr('Error reading scripts', 'AddScriptFromFileAction'),
77+
self.tr('The following files do not contain a valid script:\n-', 'AddScriptFromFileAction')
78+
+ "\n-".join(wrongAlgs))
79+

0 commit comments

Comments
 (0)
Please sign in to comment.