From 178509347afdce24acd3800c39b1fa93941a0e2e Mon Sep 17 00:00:00 2001 From: Alexander Bruy Date: Sun, 11 Feb 2018 14:05:09 +0200 Subject: [PATCH] [processing] add enums support for fields and feature source parameters (follow up 068d74d5) --- python/plugins/processing/core/parameters.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/python/plugins/processing/core/parameters.py b/python/plugins/processing/core/parameters.py index 1c852f20c659..f14e0c59189f 100644 --- a/python/plugins/processing/core/parameters.py +++ b/python/plugins/processing/core/parameters.py @@ -118,7 +118,10 @@ def getParameterFromString(s): params[5] = True if params[5].lower() == 'true' else False elif clazz == QgsProcessingParameterFeatureSource: if len(params) > 2: - params[2] = [int(p) for p in params[2].split(';')] + try: + params[2] = [int(p) for p in params[2].split(';')] + except: + params[2] = [getattr(QgsProcessing, p.split(".")[1]) for p in params[2].split(';')] if len(params) > 4: params[4] = True if params[4].lower() == 'true' else False elif clazz == QgsProcessingParameterMultipleLayers: @@ -136,9 +139,14 @@ def getParameterFromString(s): params[3] = True if params[3].lower() == 'true' else False if len(params) > 4: params[4] = params[4].split(';') + if len(params) > 6: + params[6] = True if params[6].lower() == 'true' else False elif clazz == QgsProcessingParameterField: if len(params) > 4: - params[4] = int(params[4]) + try: + params[4] = int(params[4]) + except: + params[4] = getattr(QgsProcessingParameterField, params[4].split(".")[1]) if len(params) > 5: params[5] = True if params[5].lower() == 'true' else False if len(params) > 6: