Skip to content

Commit c3a4b11

Browse files
authored
Merge pull request #6309 from alexbruy/processing-enums
[processing] add enums support for fields and feature source parameters
2 parents 367aba1 + 1785093 commit c3a4b11

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

python/plugins/processing/core/parameters.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,10 @@ def getParameterFromString(s):
118118
params[5] = True if params[5].lower() == 'true' else False
119119
elif clazz == QgsProcessingParameterFeatureSource:
120120
if len(params) > 2:
121-
params[2] = [int(p) for p in params[2].split(';')]
121+
try:
122+
params[2] = [int(p) for p in params[2].split(';')]
123+
except:
124+
params[2] = [getattr(QgsProcessing, p.split(".")[1]) for p in params[2].split(';')]
122125
if len(params) > 4:
123126
params[4] = True if params[4].lower() == 'true' else False
124127
elif clazz == QgsProcessingParameterMultipleLayers:
@@ -136,9 +139,14 @@ def getParameterFromString(s):
136139
params[3] = True if params[3].lower() == 'true' else False
137140
if len(params) > 4:
138141
params[4] = params[4].split(';')
142+
if len(params) > 6:
143+
params[6] = True if params[6].lower() == 'true' else False
139144
elif clazz == QgsProcessingParameterField:
140145
if len(params) > 4:
141-
params[4] = int(params[4])
146+
try:
147+
params[4] = int(params[4])
148+
except:
149+
params[4] = getattr(QgsProcessingParameterField, params[4].split(".")[1])
142150
if len(params) > 5:
143151
params[5] = True if params[5].lower() == 'true' else False
144152
if len(params) > 6:

0 commit comments

Comments
 (0)