@@ -122,7 +122,7 @@ def removeScripts(folder):
122
122
provider .refreshAlgorithms ()
123
123
124
124
@staticmethod
125
- def runAlgorithm (algOrName , onFinish , * args , ** kwargs ):
125
+ def runAlgorithm (algOrName , parameters , onFinish , feedback = None , context = None ):
126
126
if isinstance (algOrName , QgsProcessingAlgorithm ):
127
127
alg = algOrName
128
128
else :
@@ -134,47 +134,21 @@ def runAlgorithm(algOrName, onFinish, *args, **kwargs):
134
134
Processing .tr ("Processing" ))
135
135
return
136
136
137
- parameters = {}
138
- if len (args ) == 1 and isinstance (args [0 ], dict ):
139
- # Set params by name and try to run the alg even if not all parameter values are provided,
140
- # by using the default values instead.
141
- for (name , value ) in list (args [0 ].items ()):
142
- param = alg .parameterDefinition (name )
143
- if param :
144
- parameters [param .name ()] = value
145
- continue
146
- # fix_print_with_import
147
- print ('Error: Wrong parameter value %s for parameter %s.' % (value , name ))
148
- QgsMessageLog .logMessage (
149
- Processing .tr ('Error: Wrong parameter value {0} for parameter {1}.' ).format (value , name ),
150
- Processing .tr ("Processing" ))
151
- QgsMessageLog .logMessage (Processing .tr ('Error in {0}. Wrong parameter value {1} for parameter {2}.' ).format (
152
- alg .name (), value , name
153
- ), Processing .tr ("Processing" ),
154
- QgsMessageLog .CRITICAL
155
- )
156
- return
157
- # check for any manadatory parameters which were not specified
158
- for param in alg .parameterDefinitions ():
159
- if param .name () not in parameters :
160
- if not param .flags () & QgsProcessingParameterDefinition .FlagOptional :
161
- # fix_print_with_import
162
- print ('Error: Missing parameter value for parameter %s.' % param .name ())
163
- QgsMessageLog .logMessage (
164
- Processing .tr ('Error: Missing parameter value for parameter {0}.' ).format (param .name ()),
165
- Processing .tr ("Processing" ))
166
- return
167
-
168
- feedback = None
169
- if kwargs is not None and "feedback" in list (kwargs .keys ()):
170
- feedback = kwargs ["feedback" ]
171
- elif iface is not None :
137
+ # check for any manadatory parameters which were not specified
138
+ for param in alg .parameterDefinitions ():
139
+ if param .name () not in parameters :
140
+ if not param .flags () & QgsProcessingParameterDefinition .FlagOptional :
141
+ # fix_print_with_import
142
+ print ('Error: Missing parameter value for parameter %s.' % param .name ())
143
+ QgsMessageLog .logMessage (
144
+ Processing .tr ('Error: Missing parameter value for parameter {0}.' ).format (param .name ()),
145
+ Processing .tr ("Processing" ))
146
+ return
147
+
148
+ if feedback is None :
172
149
feedback = MessageBarProgress (alg .displayName ())
173
150
174
- context = None
175
- if kwargs is not None and 'context' in list (kwargs .keys ()):
176
- context = kwargs ["context" ]
177
- else :
151
+ if context is None :
178
152
context = dataobjects .createContext (feedback )
179
153
180
154
ok , msg = alg .checkParameterValues (parameters , context )
0 commit comments