16
16
* *
17
17
***************************************************************************
18
18
"""
19
+ from processing .modeler .ModelerUtils import ModelerUtils
19
20
20
21
__author__ = 'Victor Olaya'
21
22
__date__ = 'August 2012'
41
42
from processing .gui .Postprocessing import handleAlgorithmResults
42
43
from processing .gui .UnthreadedAlgorithmExecutor import \
43
44
UnthreadedAlgorithmExecutor
44
- from processing .modeler .Providers import Providers
45
45
from processing .modeler .ModelerAlgorithmProvider import \
46
46
ModelerAlgorithmProvider
47
47
from processing .modeler .ModelerOnlyAlgorithmProvider import \
@@ -119,8 +119,7 @@ def removeProvider(provider):
119
119
120
120
@staticmethod
121
121
def getProviderFromName (name ):
122
- """Returns the provider with the given name.
123
- """
122
+ """Returns the provider with the given name."""
124
123
for provider in Processing .providers :
125
124
if provider .getName () == name :
126
125
return provider
@@ -139,8 +138,9 @@ def initialize():
139
138
Processing .addProvider (SagaAlgorithmProvider ())
140
139
Processing .addProvider (GrassAlgorithmProvider ())
141
140
Processing .addProvider (Grass7AlgorithmProvider ())
142
- Processing .addProvider (ScriptAlgorithmProvider ())
141
+ Processing .addProvider (ScriptAlgorithmProvider ())
143
142
Processing .addProvider (TauDEMAlgorithmProvider ())
143
+ Processing .addProvider (ModelerAlgorithmProvider ())
144
144
Processing .modeler .initializeSettings ()
145
145
146
146
# And initialize
@@ -173,7 +173,8 @@ def updateProviders():
173
173
174
174
@staticmethod
175
175
def addAlgListListener (listener ):
176
- """Listener should implement a algsListHasChanged() method.
176
+ """
177
+ Listener should implement a algsListHasChanged() method.
177
178
178
179
Whenever the list of algorithms changes, that method will be
179
180
called for all registered listeners.
@@ -196,33 +197,11 @@ def loadAlgorithms():
196
197
algs [alg .commandLineName ()] = alg
197
198
Processing .algs [provider .getName ()] = algs
198
199
199
- # This is a special provider, since it depends on others.
200
- # TODO: Fix circular imports, so this provider can be
201
- # incorporated as a normal one.
202
- provider = Processing .modeler
203
- provider .setAlgsList (Processing .algs )
204
- provider .loadAlgorithms ()
205
- providerAlgs = provider .algs
206
- algs = {}
207
- for alg in providerAlgs :
208
- algs [alg .commandLineName ()] = alg
209
- Processing .algs [provider .getName ()] = algs
210
-
211
- # And we do it again, in case there are models containing
212
- # models.
213
- # TODO: Improve this
214
- provider .setAlgsList (Processing .algs )
215
- provider .loadAlgorithms ()
216
- providerAlgs = provider .algs
217
- algs = {}
218
- for alg in providerAlgs :
219
- algs [alg .commandLineName ()] = alg
220
- Processing .algs [provider .getName ()] = algs
221
200
provs = {}
222
201
for provider in Processing .providers :
223
202
provs [provider .getName ()] = provider
224
- provs [ Processing . modeler . getName ()] = Processing .modeler
225
- Providers .providers = provs
203
+ ModelerUtils . allAlgs = Processing .algs
204
+ ModelerUtils .providers = provs
226
205
227
206
@staticmethod
228
207
def loadActions ():
@@ -232,11 +211,7 @@ def loadActions():
232
211
for action in providerActions :
233
212
actions .append (action )
234
213
Processing .actions [provider .getName ()] = actions
235
-
236
- provider = Processing .modeler
237
- actions = list ()
238
- for action in provider .actions :
239
- actions .append (action )
214
+
240
215
Processing .actions [provider .getName ()] = actions
241
216
242
217
@staticmethod
@@ -247,11 +222,6 @@ def loadContextMenuActions():
247
222
for action in providerActions :
248
223
Processing .contextMenuActions .append (action )
249
224
250
- provider = Processing .modeler
251
- providerActions = provider .contextMenuActions
252
- for action in providerActions :
253
- Processing .contextMenuActions .append (action )
254
-
255
225
@staticmethod
256
226
def getAlgorithm (name ):
257
227
for provider in Processing .algs .values ():
@@ -269,8 +239,7 @@ def getAlgorithmFromFullName(name):
269
239
270
240
@staticmethod
271
241
def getObject (uri ):
272
- """Returns the QGIS object identified by the given URI.
273
- """
242
+ """Returns the QGIS object identified by the given URI."""
274
243
return dataobjects .getObjectFromUri (uri )
275
244
276
245
@staticmethod
0 commit comments