From 1b60b088a22ce2b417ec8a2c69266b98efa663f2 Mon Sep 17 00:00:00 2001 From: Alexander Bruy Date: Mon, 27 Jun 2016 14:17:51 +0300 Subject: [PATCH] [processing] support more field types --- python/plugins/processing/algs/qgis/ConvexHull.py | 4 ++-- python/plugins/processing/algs/qgis/ExtractByAttribute.py | 2 +- python/plugins/processing/algs/qgis/Merge.py | 2 +- python/plugins/processing/algs/qgis/SelectByAttribute.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/python/plugins/processing/algs/qgis/ConvexHull.py b/python/plugins/processing/algs/qgis/ConvexHull.py index e18d2bd823f..0f1a1bc8769 100644 --- a/python/plugins/processing/algs/qgis/ConvexHull.py +++ b/python/plugins/processing/algs/qgis/ConvexHull.py @@ -79,8 +79,8 @@ class ConvexHull(GeoAlgorithm): if useField: index = layer.fieldNameIndex(fieldName) fType = layer.pendingFields()[index].type() - if fType == QVariant.Int: - f.setType(QVariant.Int) + if fType in [QVariant.Int, QVariant.UInt, QVariant.LongLong, QVariant.ULongLong]: + f.setType(fType) f.setLength(20) elif fType == QVariant.Double: f.setType(QVariant.Double) diff --git a/python/plugins/processing/algs/qgis/ExtractByAttribute.py b/python/plugins/processing/algs/qgis/ExtractByAttribute.py index 7c3102242ea..d8c33e1d77b 100644 --- a/python/plugins/processing/algs/qgis/ExtractByAttribute.py +++ b/python/plugins/processing/algs/qgis/ExtractByAttribute.py @@ -95,7 +95,7 @@ class ExtractByAttribute(GeoAlgorithm): raise GeoAlgorithmExecutionException( self.tr('Operators %s can be used only with string fields.' % op)) - if fieldType in [QVariant.Int, QVariant.Double]: + if fieldType in [QVariant.Int, QVariant.Double, QVariant.UInt, QVariant.LongLong, QVariant.ULongLong]: expr = '"%s" %s %s' % (fieldName, operator, value) elif fieldType == QVariant.String: if operator not in self.OPERATORS[-2:]: diff --git a/python/plugins/processing/algs/qgis/Merge.py b/python/plugins/processing/algs/qgis/Merge.py index 0dd116fcf62..b348a57b964 100644 --- a/python/plugins/processing/algs/qgis/Merge.py +++ b/python/plugins/processing/algs/qgis/Merge.py @@ -97,7 +97,7 @@ class Merge(GeoAlgorithm): sattributes = feature.attributes() dattributes = [] for dindex, dfield in enumerate(fields): - if (dfield.type() == QVariant.Int): + if (dfield.type() == QVariant.Int, QVariant.UInt, QVariant.LongLong, QVariant.ULongLong): dattribute = 0 elif (dfield.type() == QVariant.Double): dattribute = 0.0 diff --git a/python/plugins/processing/algs/qgis/SelectByAttribute.py b/python/plugins/processing/algs/qgis/SelectByAttribute.py index 38f9a4829f3..208d436f7e0 100644 --- a/python/plugins/processing/algs/qgis/SelectByAttribute.py +++ b/python/plugins/processing/algs/qgis/SelectByAttribute.py @@ -94,7 +94,7 @@ class SelectByAttribute(GeoAlgorithm): raise GeoAlgorithmExecutionException( self.tr('Operators %s can be used only with string fields.' % op)) - if fieldType in [QVariant.Int, QVariant.Double]: + if fieldType in [QVariant.Int, QVariant.Double, QVariant.UInt, QVariant.LongLong, QVariant.ULongLong]: expr = '"%s" %s %s' % (fieldName, operator, value) elif fieldType == QVariant.String: if operator not in self.OPERATORS[-2:]: