From e46795a4f904d94d8247d3d57ad934d704cd68ac Mon Sep 17 00:00:00 2001 From: Victor Olaya Date: Mon, 3 Jun 2013 21:25:22 +0200 Subject: [PATCH] [sextante] updated to new sip api --- .../sextante/admintools/ImportIntoPostGIS.py | 10 +++--- .../sextante/admintools/PostGISExecuteSQL.py | 10 +++--- python/plugins/sextante/algs/AddTableField.py | 2 +- .../sextante/algs/AutoincrementalField.py | 2 +- .../sextante/algs/EquivalentNumField.py | 4 +-- .../plugins/sextante/algs/FieldPyculator.py | 12 ++----- .../plugins/sextante/algs/FieldsCalculator.py | 4 +-- .../plugins/sextante/algs/JoinAttributes.py | 4 +-- .../sextante/algs/PointsLayerFromTable.py | 4 +-- python/plugins/sextante/algs/Polygonize.py | 2 +- .../sextante/algs/StatisticsByCategories.py | 6 ++-- .../algs/ftools/BasicStatisticsNumbers.py | 2 +- .../algs/ftools/BasicStatisticsStrings.py | 2 +- python/plugins/sextante/algs/ftools/Buffer.py | 4 +-- .../sextante/algs/ftools/ConvexHull.py | 14 ++------ .../plugins/sextante/algs/ftools/Dissolve.py | 2 +- .../algs/ftools/ExportGeometryInfo.py | 7 ++-- .../sextante/algs/ftools/ExtentFromLayer.py | 24 ++------------ .../sextante/algs/ftools/FToolsUtils.py | 17 ---------- .../sextante/algs/ftools/MeanCoords.py | 6 ++-- .../sextante/algs/ftools/PointDistance.py | 8 ++--- .../sextante/algs/ftools/PointsInPolygon.py | 4 +-- .../algs/ftools/PointsInPolygonUnique.py | 6 ++-- .../algs/ftools/PointsInPolygonWeighted.py | 12 ++++--- .../ftools/RandomSelectionWithinSubsets.py | 2 +- .../algs/ftools/SinglePartsToMultiparts.py | 2 +- .../plugins/sextante/algs/ftools/SumLines.py | 8 ++--- .../sextante/algs/ftools/UniqueValues.py | 4 +-- .../algs/mmqgisx/MMQGISXAlgorithms.py | 32 +++++++++---------- python/plugins/sextante/core/LayerExporter.py | 4 +-- python/plugins/sextante/core/QGisLayers.py | 6 ++-- .../sextante/core/SextanteTableWriter.py | 8 ++--- .../sextante/core/SextanteVectorWriter.py | 2 +- python/plugins/sextante/gdal/GdalUtils.py | 6 ++-- .../plugins/sextante/gui/AlgorithmExecutor.py | 3 +- .../sextante/gui/BatchInputSelectionPanel.py | 4 +-- .../sextante/gui/BatchOutputSelectionPanel.py | 8 ++--- python/plugins/sextante/gui/ConfigDialog.py | 2 +- .../sextante/gui/CouldNotLoadResultsDialog.py | 2 +- .../sextante/gui/FileSelectionPanel.py | 10 +++--- .../plugins/sextante/gui/FixedTableDialog.py | 2 +- .../sextante/gui/InputLayerSelectorPanel.py | 4 +-- .../sextante/gui/MissingDependencyDialog.py | 2 +- .../sextante/gui/OutputSelectionPanel.py | 8 ++--- .../sextante/gui/RenderingStyleFilePanel.py | 6 ++-- .../plugins/sextante/gui/SextanteToolbox.py | 7 ++-- python/plugins/sextante/gui/TestTools.py | 4 +-- .../gui/UnthreadedAlgorithmExecutor.py | 2 +- .../plugins/sextante/modeler/ModelerDialog.py | 2 +- .../modeler/ModelerParametersDialog.py | 2 +- .../plugins/sextante/outputs/OutputTable.py | 2 +- .../plugins/sextante/outputs/OutputVector.py | 2 +- .../Number_of_unique_values_in_classes.py | 8 ++--- .../Split_vector_layer_by_attribute.py | 2 +- .../sextante/script/scripts/Summarize.py | 4 +-- python/plugins/sextante/tools/vector.py | 5 +-- 56 files changed, 138 insertions(+), 195 deletions(-) diff --git a/python/plugins/sextante/admintools/ImportIntoPostGIS.py b/python/plugins/sextante/admintools/ImportIntoPostGIS.py index 4696dd17f662..bfafa5a59c61 100644 --- a/python/plugins/sextante/admintools/ImportIntoPostGIS.py +++ b/python/plugins/sextante/admintools/ImportIntoPostGIS.py @@ -54,11 +54,11 @@ def processAlgorithm(self, progress): settings = QSettings() mySettings = "/PostgreSQL/connections/"+ connection try: - database = settings.value(mySettings+"/database").toString() - username = settings.value(mySettings+"/username").toString() - host = settings.value(mySettings+"/host").toString() - port = int(settings.value(mySettings+"/port").toString()) - password = settings.value(mySettings+"/password").toString() + database = settings.value(mySettings+"/database") + username = settings.value(mySettings+"/username") + host = settings.value(mySettings+"/host") + port = settings.value(mySettings+"/port", type = int) + password = settings.value(mySettings+"/password") except Exception, e: raise GeoAlgorithmExecutionException("Wrong database connection name: " + connection) diff --git a/python/plugins/sextante/admintools/PostGISExecuteSQL.py b/python/plugins/sextante/admintools/PostGISExecuteSQL.py index 7bd7912d2ce7..d2ab89361e15 100644 --- a/python/plugins/sextante/admintools/PostGISExecuteSQL.py +++ b/python/plugins/sextante/admintools/PostGISExecuteSQL.py @@ -46,11 +46,11 @@ def processAlgorithm(self, progress): settings = QSettings() mySettings = "/PostgreSQL/connections/"+ connection try: - database = settings.value(mySettings+"/database").toString() - username = settings.value(mySettings+"/username").toString() - host = settings.value(mySettings+"/host").toString() - port = int(settings.value(mySettings+"/port").toString()) - password = settings.value(mySettings+"/password").toString() + database = settings.value(mySettings+"/database") + username = settings.value(mySettings+"/username") + host = settings.value(mySettings+"/host") + port = settings.value(mySettings+"/port", type = int) + password = settings.value(mySettings+"/password") except Exception, e: raise GeoAlgorithmExecutionException("Wrong database connection name: " + connection) try: diff --git a/python/plugins/sextante/algs/AddTableField.py b/python/plugins/sextante/algs/AddTableField.py index 050b6f68a143..f15936ed81ea 100644 --- a/python/plugins/sextante/algs/AddTableField.py +++ b/python/plugins/sextante/algs/AddTableField.py @@ -89,7 +89,7 @@ def processAlgorithm(self, progress): inGeom = inFeat.geometry() outFeat.setGeometry( inGeom ) atMap = inFeat.attributes() - atMap.append(QVariant()) + atMap.append(None) outFeat.setAttributes(atMap) writer.addFeature( outFeat ) del writer diff --git a/python/plugins/sextante/algs/AutoincrementalField.py b/python/plugins/sextante/algs/AutoincrementalField.py index 22a027c3b1e4..7e6adf3342a1 100644 --- a/python/plugins/sextante/algs/AutoincrementalField.py +++ b/python/plugins/sextante/algs/AutoincrementalField.py @@ -59,7 +59,7 @@ def processAlgorithm(self, progress): inGeom = inFeat.geometry() outFeat.setGeometry( inGeom ) attrs = inFeat.attributes() - attrs.append(QVariant(nElement)) + attrs.append(nElement) outFeat.setAttributes(attrs) writer.addFeature(outFeat) del writer diff --git a/python/plugins/sextante/algs/EquivalentNumField.py b/python/plugins/sextante/algs/EquivalentNumField.py index a067a97e7616..ef8582ce270d 100644 --- a/python/plugins/sextante/algs/EquivalentNumField.py +++ b/python/plugins/sextante/algs/EquivalentNumField.py @@ -63,10 +63,10 @@ def processAlgorithm(self, progress): inGeom = feature.geometry() outFeat.setGeometry( inGeom ) atMap = feature.attributes() - clazz = atMap[fieldindex].toString() + clazz = atMap[fieldindex] if clazz not in classes: classes[clazz] = len(classes.keys()) - atMap.append(QVariant(classes[clazz])) + atMap.append(classes[clazz]) outFeat.setAttributes(atMap) writer.addFeature( outFeat ) del writer diff --git a/python/plugins/sextante/algs/FieldPyculator.py b/python/plugins/sextante/algs/FieldPyculator.py index c743a1501a13..912623f8ee9c 100644 --- a/python/plugins/sextante/algs/FieldPyculator.py +++ b/python/plugins/sextante/algs/FieldPyculator.py @@ -142,7 +142,7 @@ def processAlgorithm(self, progress): new_ns['__geom'] = geom if need_attrs: - pyattrs = [self.Qvar2py(a) for a in attrs] + pyattrs = [a for a in attrs] new_ns['__attr'] = pyattrs #clear old result @@ -161,20 +161,12 @@ def processAlgorithm(self, progress): #write feature nElement += 1 outFeat.setGeometry( feat.geometry() ) - attrs.append(QVariant(new_ns[self.RESULT_VAR_NAME])) + attrs.append(new_ns[self.RESULT_VAR_NAME]) outFeat.setAttributes(attrs) writer.addFeature(outFeat) del writer - def Qvar2py(self,qv): - if qv.type() == 2: - return qv.toInt()[0] - if qv.type() == 10: - return unicode(qv.toString()) - if qv.type() == 6: - return qv.toDouble()[0] - return None def checkParameterValuesBeforeExecuting(self): ##TODO check that formula is correct and fields exist diff --git a/python/plugins/sextante/algs/FieldsCalculator.py b/python/plugins/sextante/algs/FieldsCalculator.py index ec5ab3bda5ea..0108ef0ceaf5 100644 --- a/python/plugins/sextante/algs/FieldsCalculator.py +++ b/python/plugins/sextante/algs/FieldsCalculator.py @@ -91,7 +91,7 @@ def processAlgorithm(self, progress): expression = formula k = 0 for attr in attrs: - expression = expression.replace(unicode(fields[k].name()), unicode(attr.toString())) + expression = expression.replace(unicode(fields[k].name()), unicode(attr)) k += 1 try: result = eval(expression) @@ -102,7 +102,7 @@ def processAlgorithm(self, progress): inGeom = inFeat.geometry() outFeat.setGeometry(inGeom) attrs = inFeat.attributes() - attrs.append(QVariant(result)) + attrs.append(result) outFeat.setAttributes(attrs) writer.addFeature(outFeat) del writer diff --git a/python/plugins/sextante/algs/JoinAttributes.py b/python/plugins/sextante/algs/JoinAttributes.py index 920c0670b7a9..0dc59645abad 100644 --- a/python/plugins/sextante/algs/JoinAttributes.py +++ b/python/plugins/sextante/algs/JoinAttributes.py @@ -83,12 +83,12 @@ def processAlgorithm(self, progress): for inFeat in features: inGeom = inFeat.geometry() attrs = inFeat.attributes() - joinValue1 = attrs[joinField1Index].toString() + joinValue1 = attrs[joinField1Index] features2 = QGisLayers.features(layer2); for inFeat2 in features2: ## Maybe it should cache this entries... attrs2 = inFeat2.attributes() - joinValue2 = attrs2[joinField2Index].toString() + joinValue2 = attrs2[joinField2Index] if joinValue1 == joinValue2: # create the new feature outFeat.setGeometry(inGeom) diff --git a/python/plugins/sextante/algs/PointsLayerFromTable.py b/python/plugins/sextante/algs/PointsLayerFromTable.py index e9d0af333512..cc1b16935275 100644 --- a/python/plugins/sextante/algs/PointsLayerFromTable.py +++ b/python/plugins/sextante/algs/PointsLayerFromTable.py @@ -58,8 +58,8 @@ def processAlgorithm(self, progress): progress.setPercentage((nElement*100)/nFeat) attrs = feature.attributes() try: - x = float(attrs[xfieldindex].toString()) - y = float(attrs[yfieldindex].toString()) + x = float(attrs[xfieldindex]) + y = float(attrs[yfieldindex]) except: continue pt = QgsPoint(x, y) diff --git a/python/plugins/sextante/algs/Polygonize.py b/python/plugins/sextante/algs/Polygonize.py index 1089a59916eb..f76cd5ea7838 100644 --- a/python/plugins/sextante/algs/Polygonize.py +++ b/python/plugins/sextante/algs/Polygonize.py @@ -80,7 +80,7 @@ def processAlgorithm(self, progress): for polygon in polygons: outFeat.setGeometry(QgsGeometry.fromWkt( polygon.wkt )) if self.getParameterValue(self.GEOMETRY): - outFeat.setAttributes([None]*fieldsCount + [ QVariant(polygon.area), QVariant(polygon.length)]) + outFeat.setAttributes([None]*fieldsCount + [ polygon.area, polygon.length]) writer.addFeature(outFeat) current += 1 progress.setPercentage(50+int(current * total)) diff --git a/python/plugins/sextante/algs/StatisticsByCategories.py b/python/plugins/sextante/algs/StatisticsByCategories.py index 76e878129236..e80a33ba9010 100644 --- a/python/plugins/sextante/algs/StatisticsByCategories.py +++ b/python/plugins/sextante/algs/StatisticsByCategories.py @@ -69,8 +69,8 @@ def processAlgorithm(self, progress): progress.setPercentage(int((100 * nFeats) / nFeat)) attrs = feat.attributes() try: - value = float(attrs[valuesField].toDouble()[0]) - cat = unicode(attrs[categoriesField].toString()) + value = float(attrs[valuesField]) + cat = unicode(attrs[categoriesField]) if cat not in values: values[cat] = [] values[cat].append(value) @@ -108,7 +108,7 @@ def calculateStats(values): maxvalue = max(v, maxvalue) if n > 1: - variance = M2/(n - 1) + variance = M2/(n - 1) else: variance = 0; stddev = math.sqrt(variance) diff --git a/python/plugins/sextante/algs/ftools/BasicStatisticsNumbers.py b/python/plugins/sextante/algs/ftools/BasicStatisticsNumbers.py index aa26ad8c102a..62db5a92de0f 100644 --- a/python/plugins/sextante/algs/ftools/BasicStatisticsNumbers.py +++ b/python/plugins/sextante/algs/ftools/BasicStatisticsNumbers.py @@ -108,7 +108,7 @@ def processAlgorithm(self, progress): total = 100.0 / float(count) current = 0 for ft in features: - value = float(ft.attributes()[index].toDouble()[0]) + value = float(ft.attributes()[index]) if isFirst: minValue = value maxValue = value diff --git a/python/plugins/sextante/algs/ftools/BasicStatisticsStrings.py b/python/plugins/sextante/algs/ftools/BasicStatisticsStrings.py index 3aae61a25303..3439ed3e515f 100644 --- a/python/plugins/sextante/algs/ftools/BasicStatisticsStrings.py +++ b/python/plugins/sextante/algs/ftools/BasicStatisticsStrings.py @@ -100,7 +100,7 @@ def processAlgorithm(self, progress): total = 100.0 / float(count) current = 0 for ft in features: - length = float(len(ft.attributes()[index].toString())) + length = float(len(ft.attributes()[index])) if isFirst: minValue = length diff --git a/python/plugins/sextante/algs/ftools/Buffer.py b/python/plugins/sextante/algs/ftools/Buffer.py index 881bc125f43b..b8354426be77 100644 --- a/python/plugins/sextante/algs/ftools/Buffer.py +++ b/python/plugins/sextante/algs/ftools/Buffer.py @@ -53,7 +53,7 @@ def buffering(progress, writer, distance, field, useField, layer, dissolve, segm for inFeat in features: attrs = inFeat.attributes() if useField: - value = attrs[field].toDouble()[0] + value = attrs[field] else: value = distance @@ -86,7 +86,7 @@ def buffering(progress, writer, distance, field, useField, layer, dissolve, segm for inFeat in features: attrs = inFeat.attributes() if useField: - value = attrs[field].toDouble()[0] + value = attrs[field] else: value = distance diff --git a/python/plugins/sextante/algs/ftools/ConvexHull.py b/python/plugins/sextante/algs/ftools/ConvexHull.py index 635146dba620..460f7ccabab3 100644 --- a/python/plugins/sextante/algs/ftools/ConvexHull.py +++ b/python/plugins/sextante/algs/ftools/ConvexHull.py @@ -115,7 +115,7 @@ def processAlgorithm(self, progress): features = QGisLayers.features(layer) for f in features: idVar = f[fieldName] - if idVar.toString().trimmed() == i.toString().trimmed(): + if unicode(idVar).strip() == unicode(i).strip: if first: val = idVar first = False @@ -131,11 +131,7 @@ def processAlgorithm(self, progress): outGeom = tmpGeom.convexHull() (area, perim) = utils.simpleMeasure(outGeom) outFeat.setGeometry(outGeom) - outFeat.setAttributes([QVariant(fid), - QVariant(val), - QVariant(area), - QVariant(perim) - ]) + outFeat.setAttributes([fid,val,area,perim]) writer.addFeature(outFeat) except: GEOS_EXCEPT = False @@ -157,11 +153,7 @@ def processAlgorithm(self, progress): outGeom = tmpGeom.convexHull() (area, perim) = utils.simpleMeasure(outGeom) outFeat.setGeometry(outGeom) - outFeat.setAttributes([QVariant(0), - QVariant("all"), - QVariant(area), - QVariant(perim) - ]) + outFeat.setAttributes([0, "all", area, perim]) writer.addFeature(outFeat) except: GEOS_EXCEPT = False diff --git a/python/plugins/sextante/algs/ftools/Dissolve.py b/python/plugins/sextante/algs/ftools/Dissolve.py index feca3850acdb..86954a0693fa 100644 --- a/python/plugins/sextante/algs/ftools/Dissolve.py +++ b/python/plugins/sextante/algs/ftools/Dissolve.py @@ -92,7 +92,7 @@ def processAlgorithm(self, progress): progress.setPercentage(int(nElement/nFeat * 100)) atMap = inFeat.attributes() tempItem = atMap[ field ] - if tempItem.toString().trimmed() == item.toString().trimmed(): + if tempItem.strip() == item.strip(): if first: QgsGeometry( inFeat.geometry() ) tmpInGeom = QgsGeometry( inFeat.geometry() ) diff --git a/python/plugins/sextante/algs/ftools/ExportGeometryInfo.py b/python/plugins/sextante/algs/ftools/ExportGeometryInfo.py index d59078fbb912..6b81d9f43497 100644 --- a/python/plugins/sextante/algs/ftools/ExportGeometryInfo.py +++ b/python/plugins/sextante/algs/ftools/ExportGeometryInfo.py @@ -95,8 +95,7 @@ def processAlgorithm(self, progress): # 0 - layer CRS # 1 - project CRS # 2 - ellipsoidal - if method == 2: - settings = QSettings() + if method == 2: ellips = QgsProject.instance().readEntry("Measure", "/Ellipsoid", GEO_NONE)[0] crs = layer.crs().srsid() elif method == 1: @@ -123,9 +122,9 @@ def processAlgorithm(self, progress): outFeat.setGeometry(inGeom) attrs = f.attributes() - attrs.insert(idx1, QVariant(attr1)) + attrs.insert(idx1, attr1) if attr2 is not None: - attrs.insert(idx2, QVariant(attr2)) + attrs.insert(idx2, attr2) outFeat.setAttributes(attrs) writer.addFeature(outFeat) diff --git a/python/plugins/sextante/algs/ftools/ExtentFromLayer.py b/python/plugins/sextante/algs/ftools/ExtentFromLayer.py index 44f1e1251bbd..b1a03eaf33e4 100644 --- a/python/plugins/sextante/algs/ftools/ExtentFromLayer.py +++ b/python/plugins/sextante/algs/ftools/ExtentFromLayer.py @@ -104,17 +104,7 @@ def layerExtent(self, layer, writer, progress): geometry = QgsGeometry().fromPolygon([rect]) feat = QgsFeature() feat.setGeometry(geometry) - attrs = [QVariant(minx), - QVariant(miny), - QVariant(maxx), - QVariant(maxy), - QVariant(cntx), - QVariant(cnty), - QVariant(area), - QVariant(perim), - QVariant(height), - QVariant(width) - ] + attrs = [minx,miny,maxx,maxy,cntx,cnty,area,perim,height,width] feat.setAttributes(attrs) writer.addFeature(feat) @@ -144,17 +134,7 @@ def featureExtent(self, layer, writer, progress): geometry = QgsGeometry().fromPolygon([rect]) feat.setGeometry(geometry) - attrs = [QVariant(minx), - QVariant(miny), - QVariant(maxx), - QVariant(maxy), - QVariant(cntx), - QVariant(cnty), - QVariant(area), - QVariant(perim), - QVariant(height), - QVariant(width) - ] + attrs = [minx,miny,maxx,maxy,cntx,cnty,area,perim,height,width] feat.setAttributes(attrs) writer.addFeature(feat) diff --git a/python/plugins/sextante/algs/ftools/FToolsUtils.py b/python/plugins/sextante/algs/ftools/FToolsUtils.py index 74645da2debc..186961a2a9c7 100644 --- a/python/plugins/sextante/algs/ftools/FToolsUtils.py +++ b/python/plugins/sextante/algs/ftools/FToolsUtils.py @@ -158,20 +158,3 @@ def combineVectorFields(layerA, layerB): return fields -# Create a unique field name based on input field name -def createUniqueFieldNameFromName(field): - check = field.name().right(2) - shortName = field.name().left(8) - if check.startsWith("_"): - (val, test) = check.right(1).toInt() - if test: - if val < 2: - val = 2 - else: - val = val + 1 - field.setName(shortName.left(len(shortName) - 1) + unicode(val)) - else: - field.setName(shortName + "_2") - else: - field.setName(shortName + "_2") - return field diff --git a/python/plugins/sextante/algs/ftools/MeanCoords.py b/python/plugins/sextante/algs/ftools/MeanCoords.py index 4c72a55266e1..779068f906b2 100644 --- a/python/plugins/sextante/algs/ftools/MeanCoords.py +++ b/python/plugins/sextante/algs/ftools/MeanCoords.py @@ -79,12 +79,12 @@ def processAlgorithm(self, progress): for feat in features: current += 1 progress.setPercentage(current * total) - clazz = feat.attributes()[uniqueIndex].toString().trimmed() + clazz = feat.attributes()[uniqueIndex].strip() if weightIndex == -1: weight = 1.00 else: try: - weight = float(feat.attributes()[weightIndex].toDouble()[0]) + weight = float(feat.attributes()[weightIndex]) except: weight = 1.00 if clazz not in means: @@ -106,7 +106,7 @@ def processAlgorithm(self, progress): meanPoint = QgsPoint(cx, cy) outFeat.setGeometry(QgsGeometry.fromPoint(meanPoint)) - outFeat.setAttributes([QVariant(cx), QVariant(cy), clazz]) + outFeat.setAttributes([cx, cy, clazz]) writer.addFeature(outFeat) diff --git a/python/plugins/sextante/algs/ftools/PointDistance.py b/python/plugins/sextante/algs/ftools/PointDistance.py index 7e85ce0fda78..d57e08f5f4f4 100644 --- a/python/plugins/sextante/algs/ftools/PointDistance.py +++ b/python/plugins/sextante/algs/ftools/PointDistance.py @@ -124,14 +124,14 @@ def linearMatrix(self, inLayer, inField, targetLayer, targetField, matType, nPoi total = 100.0 / float(len(features)) for inFeat in features: inGeom = inFeat.geometry() - inID = inFeat.attributes()[inIdx].toString() + inID = inFeat.attributes()[inIdx] featList = index.nearestNeighbor(inGeom.asPoint(), nPoints) distList = [] vari = 0.0 for i in featList: request = QgsFeatureRequest().setFilterFid(i) outFeat = targetLayer.getFeatures(request).next() - outID = outFeat.attributes()[outIdx].toString() + outID = outFeat.attributes()[outIdx] outGeom = outFeat.geometry() dist = distArea.measureLine(inGeom.asPoint(), outGeom.asPoint()) if matType == 0: @@ -167,7 +167,7 @@ def regularMatrix(self, inLayer, inField, targetLayer, targetField, nPoints, pro for inFeat in features: inGeom = inFeat.geometry() - inID = inFeat.attributes()[inIdx].toString() + inID = inFeat.attributes()[inIdx] if first: featList = index.nearestNeighbor(inGeom.asPoint(), nPoints) first = False @@ -175,7 +175,7 @@ def regularMatrix(self, inLayer, inField, targetLayer, targetField, nPoints, pro for i in featList: request = QgsFeatureRequest().setFilterFid(i) outFeat = targetLayer.getFeatures(request).next() - data.append(unicode(outFeat.attributes[outIdx].toString())) + data.append(unicode(outFeat.attributes[outIdx])) self.writer.writerow(data) data = [unicode(inID)] diff --git a/python/plugins/sextante/algs/ftools/PointsInPolygon.py b/python/plugins/sextante/algs/ftools/PointsInPolygon.py index dddd2a5e30bb..eed3175b4491 100644 --- a/python/plugins/sextante/algs/ftools/PointsInPolygon.py +++ b/python/plugins/sextante/algs/ftools/PointsInPolygon.py @@ -103,9 +103,9 @@ def processAlgorithm(self, progress): outFeat.setGeometry(geom) if idxCount == len(attrs): - attrs.append(QVariant(count)) + attrs.append(count) else: - attrs[idxCount] = QVariant(count) + attrs[idxCount] = count outFeat.setAttributes(attrs) writer.addFeature(outFeat) diff --git a/python/plugins/sextante/algs/ftools/PointsInPolygonUnique.py b/python/plugins/sextante/algs/ftools/PointsInPolygonUnique.py index e953b2ae3ee6..d259f296cd85 100644 --- a/python/plugins/sextante/algs/ftools/PointsInPolygonUnique.py +++ b/python/plugins/sextante/algs/ftools/PointsInPolygonUnique.py @@ -102,15 +102,15 @@ def processAlgorithm(self, progress): ftPoint = pointLayer.getFeatures(request).next() tmpGeom = QgsGeometry(ftPoint.geometry()) if geom.contains(tmpGeom): - clazz = ftPoint.attributes()[classFieldIndex].toString() + clazz = ftPoint.attributes()[classFieldIndex] if not clazz in classes: classes.append(clazz) outFeat.setGeometry(geom) if idxCount == len(attrs): - attrs.append(QVariant(len(classes))) + attrs.append(len(classes)) else: - attrs[idxCount] = QVariant(len(classes)) + attrs[idxCount] = len(classes) outFeat.setAttributes(attrs) writer.addFeature(outFeat) diff --git a/python/plugins/sextante/algs/ftools/PointsInPolygonWeighted.py b/python/plugins/sextante/algs/ftools/PointsInPolygonWeighted.py index 1f9db7b4a305..97571afd6d5c 100644 --- a/python/plugins/sextante/algs/ftools/PointsInPolygonWeighted.py +++ b/python/plugins/sextante/algs/ftools/PointsInPolygonWeighted.py @@ -104,15 +104,17 @@ def processAlgorithm(self, progress): ftPoint = pointLayer.getFeatures(request).next() tmpGeom = QgsGeometry(ftPoint.geometry()) if geom.contains(tmpGeom): - weight, ok = ftPoint.attributes()[fieldIdx].toDouble() - if ok: - count += weight + weight = str(ftPoint.attributes()[fieldIdx]) + try: + count += float(weight) + except: + pass #ignore fields with non-numeric values outFeat.setGeometry(geom) if idxCount == len(attrs): - attrs.append(QVariant(count)) + attrs.append(count) else: - attrs[idxCount] = QVariant(count) + attrs[idxCount] = count outFeat.setAttributes(attrs) writer.addFeature(outFeat) diff --git a/python/plugins/sextante/algs/ftools/RandomSelectionWithinSubsets.py b/python/plugins/sextante/algs/ftools/RandomSelectionWithinSubsets.py index 40d10067ed3e..095ca0ccff22 100644 --- a/python/plugins/sextante/algs/ftools/RandomSelectionWithinSubsets.py +++ b/python/plugins/sextante/algs/ftools/RandomSelectionWithinSubsets.py @@ -100,7 +100,7 @@ def processAlgorithm(self, progress): FIDs= [] for inFeat in features: attrs = inFeat.attributes() - if attrs[index] == QVariant(i): + if attrs[index] == i: FIDs.append(inFeat.id()) current += 1 progress.setPercentage(int(current * total)) diff --git a/python/plugins/sextante/algs/ftools/SinglePartsToMultiparts.py b/python/plugins/sextante/algs/ftools/SinglePartsToMultiparts.py index b3e4a1a7e6cb..4fd82deb70a3 100644 --- a/python/plugins/sextante/algs/ftools/SinglePartsToMultiparts.py +++ b/python/plugins/sextante/algs/ftools/SinglePartsToMultiparts.py @@ -84,7 +84,7 @@ def processAlgorithm(self, progress): for inFeat in features: atMap = inFeat.attributes() idVar = atMap[index] - if idVar.toString().trimmed() == i.toString().trimmed(): + if idVar.strip() == i.strip(): if first: attrs = atMap print attrs diff --git a/python/plugins/sextante/algs/ftools/SumLines.py b/python/plugins/sextante/algs/ftools/SumLines.py index 97bf94eef0b3..4b2ea6e0d011 100644 --- a/python/plugins/sextante/algs/ftools/SumLines.py +++ b/python/plugins/sextante/algs/ftools/SumLines.py @@ -113,13 +113,13 @@ def processAlgorithm(self, progress): outFeat.setGeometry(inGeom) if idxLength == len(attrs): - attrs.append(QVariant(length)) + attrs.append(length) else: - attrs[idxLength] = QVariant(length) + attrs[idxLength] = length if idxCount == len(attrs): - attrs.append(QVariant(count)) + attrs.append(count) else: - attrs[idxCount] = QVariant(count) + attrs[idxCount] = count outFeat.setAttributes(attrs) writer.addFeature(outFeat) diff --git a/python/plugins/sextante/algs/ftools/UniqueValues.py b/python/plugins/sextante/algs/ftools/UniqueValues.py index e3378fa2e132..06ba366002e7 100644 --- a/python/plugins/sextante/algs/ftools/UniqueValues.py +++ b/python/plugins/sextante/algs/ftools/UniqueValues.py @@ -66,7 +66,7 @@ def processAlgorithm(self, progress): values = utils.getUniqueValues(layer, layer.fieldNameIndex(fieldName)) self.createHTML(outputFile, values) self.setOutputValue(self.TOTAL_VALUES, len(values)) - self.setOutputValue(self.UNIQUE_VALUES, ";".join([unicode(v.toString()) for v in values])) + self.setOutputValue(self.UNIQUE_VALUES, ";".join([unicode(v) for v in values])) def createHTML(self, outputFile, algData): f = codecs.open(outputFile, "w", encoding="utf-8") @@ -76,6 +76,6 @@ def createHTML(self, outputFile, algData): f.write("

Unique values:

") f.write("") f.close() diff --git a/python/plugins/sextante/algs/mmqgisx/MMQGISXAlgorithms.py b/python/plugins/sextante/algs/mmqgisx/MMQGISXAlgorithms.py index a128011e3af4..ac10560285a7 100644 --- a/python/plugins/sextante/algs/mmqgisx/MMQGISXAlgorithms.py +++ b/python/plugins/sextante/algs/mmqgisx/MMQGISXAlgorithms.py @@ -445,7 +445,7 @@ def processAlgorithm(self, progress): y = y + vspacing; feature.setGeometry(geometry.fromPolyline(polyline)) - feature.setAttributes([QVariant(x), QVariant(0)]) + feature.setAttributes([x, 0]) out.addFeature(feature) linecount = linecount + 1 #self.iface.mainWindow().statusBar().showMessage("Line " + str(linecount) + " " + str(x)) @@ -463,7 +463,7 @@ def processAlgorithm(self, progress): x = x + hspacing; feature.setGeometry(geometry.fromPolyline(polyline)) - feature.setAttributes([QVariant(0), QVariant(y)]) + feature.setAttributes([0, y]) out.addFeature(feature) linecount = linecount + 1 #self.iface.mainWindow().statusBar().showMessage("Line " + str(linecount) + " " + str(y)) @@ -483,7 +483,7 @@ def processAlgorithm(self, progress): geometry = QgsGeometry() feature = QgsFeature() feature.setGeometry(geometry.fromPolygon([polyline])) - feature.setAttributes([QVariant(x + (hspacing / 2.0)), QVariant(y + (vspacing / 2.0))]) + feature.setAttributes([x + (hspacing / 2.0), y + (vspacing / 2.0)]) out.addFeature(feature) linecount = linecount + 1 y = y + vspacing; @@ -509,7 +509,7 @@ def processAlgorithm(self, progress): geometry = QgsGeometry() feature = QgsFeature() feature.setGeometry(geometry.fromPolygon([polyline])) - feature.setAttributes([QVariant(x + (hspacing / 2.0)), QVariant(y + (vspacing / 2.0))]) + feature.setAttributes([x + (hspacing / 2.0), y + (vspacing / 2.0)]) out.addFeature(feature) linecount = linecount + 1 y = y + vspacing; @@ -547,7 +547,7 @@ def processAlgorithm(self, progress): geometry = QgsGeometry() feature = QgsFeature() feature.setGeometry(geometry.fromPolygon([polyline])) - feature.setAttributes([QVariant(x), QVariant(y)]) + feature.setAttributes([x, y]) out.addFeature(feature) linecount = linecount + 1 y = y + vspacing; @@ -800,7 +800,7 @@ def processAlgorithm(self, progress): features = QGisLayers.features(layerdest) for feature in features: hubs.append(mmqgisx_hub(feature.geometry().boundingBox().center(), \ - feature.attributes()[nameindex].toString())) + unicode(feature.attributes()[nameindex]))) # Scan source points, find nearest hub, and write to output file writecount = 0 @@ -823,7 +823,7 @@ def processAlgorithm(self, progress): hubdist = thisdist attributes = feature.attributes() - attributes.append(QVariant(closest.name)) + attributes.append(closest.name) if units == "Feet": hubdist = hubdist * 3.2808399 elif units == "Miles": @@ -832,7 +832,7 @@ def processAlgorithm(self, progress): hubdist = hubdist / 1000 elif units != "Meters": hubdist = sqrt(pow(source.x() - closest.point.x(), 2.0) + pow(source.y() - closest.point.y(), 2.0)) - attributes.append(QVariant(hubdist)) + attributes.append(hubdist) outfeature = QgsFeature() outfeature.setAttributes(attributes) @@ -906,12 +906,12 @@ def processAlgorithm(self, progress): i += 1 spokex = spokepoint.geometry().boundingBox().center().x() spokey = spokepoint.geometry().boundingBox().center().y() - spokeid = unicode(spokepoint.attributes()[spokeindex].toString()) + spokeid = unicode(spokepoint.attributes()[spokeindex]) progress.setPercentage(float(i) / len(spokepoints) * 100) # Scan hub points to find first matching hub hubpoints = QGisLayers.features(hublayer) for hubpoint in hubpoints: - hubid = unicode(hubpoint.attributes()[hubindex].toString()) + hubid = unicode(hubpoint.attributes()[hubindex]) if hubid == spokeid: hubx = hubpoint.geometry().boundingBox().center().x() huby = hubpoint.geometry().boundingBox().center().y() @@ -1005,7 +1005,7 @@ def processAlgorithm(self, progress): if (dfield in idx): dattributes.append(sattributes[idx[dfield]]) else: - dattributes.append(QVariant(dfield.type())) + dattributes.append(dfield.type()) feature.setAttributes(dattributes) out.addFeature(feature) featurecount += 1 @@ -1056,12 +1056,12 @@ def processAlgorithm(self, progress): totalcount = layer.featureCount() for feature in layer.getFeatures(): if (comparison == 'begins with') or (comparison == 'contains') or \ - (feature.attributes()[selectindex].type() == QVariant.String) or \ + isinstance(feature.attributes()[selectindex], basestring) or \ isinstance(comparisonvalue, basestring): - x = unicode(feature.attributes()[selectindex].toString()) + x = unicode(feature.attributes()[selectindex]) y = unicode(comparisonvalue) else: - x = float(feature.attributes()[selectindex].toString()) + x = float(feature.attributes()[selectindex]) y = float(comparisonvalue) match = False @@ -1128,14 +1128,14 @@ def processAlgorithm(self, progress): progress.setPercentage(float(i) / featurecount * 100) attributes = feature.attributes() try: - v = unicode(attributes[idx].toString()) + v = unicode(attributes[idx]) if '%' in v: v = v.replace('%', "") attributes[idx] = float(attributes[idx]) / float(100) else: attributes[idx] = float(attributes[idx]) except: - attributes[idx] = QVariant() + attributes[idx] = None feature.setAttributes(attributes) out.addFeature(feature) diff --git a/python/plugins/sextante/core/LayerExporter.py b/python/plugins/sextante/core/LayerExporter.py index d3511892f878..84163f7bb16a 100644 --- a/python/plugins/sextante/core/LayerExporter.py +++ b/python/plugins/sextante/core/LayerExporter.py @@ -48,7 +48,7 @@ def exportVectorLayer(layer): will get exported. It also export to a new file if the original one contains non-ascii characters''' settings = QSettings() - systemEncoding = settings.value( "/UI/encoding", "System" ).toString() + systemEncoding = settings.value( "/UI/encoding", "System" ) filename = os.path.basename(unicode(layer.source())) idx = filename.rfind(".") @@ -110,7 +110,7 @@ def exportTable( table): Currently, the output is restricted to dbf. It also export to a new file if the original one contains non-ascii characters''' settings = QSettings() - systemEncoding = settings.value( "/UI/encoding", "System" ).toString() + systemEncoding = settings.value( "/UI/encoding", "System" ) output = SextanteUtils.getTempFilename("dbf") provider = table.dataProvider() isASCII=True diff --git a/python/plugins/sextante/core/QGisLayers.py b/python/plugins/sextante/core/QGisLayers.py index 3e394edf40fb..67d3e6124b8d 100644 --- a/python/plugins/sextante/core/QGisLayers.py +++ b/python/plugins/sextante/core/QGisLayers.py @@ -121,7 +121,7 @@ def load(fileName, name = None, crs = None, style = None): settings = QSettings() if crs != None: prjSetting = settings.value("/Projections/defaultBehaviour") - settings.setValue("/Projections/defaultBehaviour", QVariant("")) + settings.setValue("/Projections/defaultBehaviour", "") if name == None: name = path.split(fileName)[1] qgslayer = QgsVectorLayer(fileName, name , 'ogr') @@ -184,7 +184,7 @@ def getObjectFromUri(uri, forceLoad = True): if forceLoad: settings = QSettings() prjSetting = settings.value("/Projections/defaultBehaviour") - settings.setValue("/Projections/defaultBehaviour", QVariant("")) + settings.setValue("/Projections/defaultBehaviour", "") #if is not opened, we open it layer = QgsVectorLayer(uri, uri , 'ogr') if layer.isValid(): @@ -197,7 +197,7 @@ def getObjectFromUri(uri, forceLoad = True): settings.setValue("/Projections/defaultBehaviour", prjSetting) return layer if prjSetting: - settings.setValue("/Projections/defaultBehaviour", prjSetting) + settings.setValue("/Projections/defaultBehaviour", prjSetting) else: return None diff --git a/python/plugins/sextante/core/SextanteTableWriter.py b/python/plugins/sextante/core/SextanteTableWriter.py index f125b3a8852f..8e318b80cf1e 100644 --- a/python/plugins/sextante/core/SextanteTableWriter.py +++ b/python/plugins/sextante/core/SextanteTableWriter.py @@ -35,7 +35,7 @@ def __init__(self, fileName, encoding, fields): if encoding is None: settings = QSettings() - encoding = settings.value("/SextanteQGIS/encoding", "System").toString() + encoding = settings.value("/SextanteQGIS/encoding", "System") if not fileName.endswith("csv"): fileName += ".csv" @@ -44,11 +44,7 @@ def __init__(self, fileName, encoding, fields): file.write("\n") file.close() - def addRecord(self, values): - for i in range(len(values)): - if isinstance(values[i], QVariant): - values[i] = values[i].toString() - + def addRecord(self, values): file = open(self.fileName, "a") file.write(";".join([unicode(value) for value in values])) file.write("\n") diff --git a/python/plugins/sextante/core/SextanteVectorWriter.py b/python/plugins/sextante/core/SextanteVectorWriter.py index b68086e76d27..a8286075c576 100644 --- a/python/plugins/sextante/core/SextanteVectorWriter.py +++ b/python/plugins/sextante/core/SextanteVectorWriter.py @@ -47,7 +47,7 @@ def __init__(self, fileName, encoding, fields, geometryType, crs, options=None): if encoding is None: settings = QSettings() - encoding = settings.value("/SextanteQGIS/encoding", "System").toString() + encoding = settings.value("/SextanteQGIS/encoding", "System") if self.fileName.startswith(self.MEMORY_LAYER_PREFIX): self.isMemory = True diff --git a/python/plugins/sextante/gdal/GdalUtils.py b/python/plugins/sextante/gdal/GdalUtils.py index dcb4260d1cb3..d87fdbd0b427 100644 --- a/python/plugins/sextante/gdal/GdalUtils.py +++ b/python/plugins/sextante/gdal/GdalUtils.py @@ -43,10 +43,10 @@ class GdalUtils: @staticmethod def runGdal(commands, progress): settings = QSettings() - path = str(settings.value( "/GdalTools/gdalPath", QVariant( "" ) ).toString()) - envval = str(os.getenv("PATH")) + path = unicode(settings.value( "/GdalTools/gdalPath", "")) + envval = unicode(os.getenv("PATH")) if not path.lower() in envval.lower().split(os.pathsep): - envval += "%s%s" % (os.pathsep, str(path)) + envval += "%s%s" % (os.pathsep, path) os.putenv( "PATH", envval ) loglines = [] loglines.append("GDAL execution console output") diff --git a/python/plugins/sextante/gui/AlgorithmExecutor.py b/python/plugins/sextante/gui/AlgorithmExecutor.py index a4ef14069926..1da492c4beb8 100644 --- a/python/plugins/sextante/gui/AlgorithmExecutor.py +++ b/python/plugins/sextante/gui/AlgorithmExecutor.py @@ -31,7 +31,6 @@ from sextante.core.SextanteUtils import SextanteUtils from sextante.tools.vector import getfeatures from sextante.gui.SextantePostprocessing import SextantePostprocessing -import sextante import sys class AlgorithmExecutor(QThread): @@ -73,7 +72,7 @@ def setConsoleInfo(self, info): #generate all single-feature layers settings = QSettings() - systemEncoding = settings.value( "/UI/encoding", "System" ).toString() + systemEncoding = settings.value( "/UI/encoding", "System" ) layerfile = alg.getParameterValue(self.parameterToIterate) layer = QGisLayers.getObjectFromUri(layerfile, False) provider = layer.dataProvider() diff --git a/python/plugins/sextante/gui/BatchInputSelectionPanel.py b/python/plugins/sextante/gui/BatchInputSelectionPanel.py index 07ba65710fef..5208351ca150 100644 --- a/python/plugins/sextante/gui/BatchInputSelectionPanel.py +++ b/python/plugins/sextante/gui/BatchInputSelectionPanel.py @@ -52,13 +52,13 @@ def __init__(self, param, row, col, batchDialog, parent = None): def showSelectionDialog(self): settings = QtCore.QSettings() - text = str(self.text.text()) + text = unicode(self.text.text()) if os.path.isdir(text): path = text elif os.path.isdir(os.path.dirname(text)): path = os.path.dirname(text) elif settings.contains("/SextanteQGIS/LastInputPath"): - path = str(settings.value( "/SextanteQGIS/LastInputPath",QtCore.QVariant("")).toString()) + path = settings.value( "/SextanteQGIS/LastInputPath") else: path = "" diff --git a/python/plugins/sextante/gui/BatchOutputSelectionPanel.py b/python/plugins/sextante/gui/BatchOutputSelectionPanel.py index 93785e6f02df..62696931e044 100644 --- a/python/plugins/sextante/gui/BatchOutputSelectionPanel.py +++ b/python/plugins/sextante/gui/BatchOutputSelectionPanel.py @@ -87,11 +87,11 @@ def showSelectionDialog(self): elif isinstance(param, ParameterBoolean): s = str(widget.currentIndex() == 0) elif isinstance(param, ParameterSelection): - s = str(widget.currentText()) + s = unicode(widget.currentText()) elif isinstance(param, ParameterFixedTable): - s = str(widget.table) + s = unicode(widget.table) else: - s = str(widget.text()) + s = unicode(widget.text()) name = filename[:filename.rfind(".")] + s + filename[filename.rfind("."):] self.table.cellWidget(i + self.row, self.col).setValue(name) except: @@ -100,5 +100,5 @@ def setValue(self, text): return self.text.setText(text) def getValue(self): - return str(self.text.text()) + return unicode(self.text.text()) diff --git a/python/plugins/sextante/gui/ConfigDialog.py b/python/plugins/sextante/gui/ConfigDialog.py index f6d1cca8fcdd..3645e6cc9a04 100644 --- a/python/plugins/sextante/gui/ConfigDialog.py +++ b/python/plugins/sextante/gui/ConfigDialog.py @@ -56,7 +56,7 @@ def edit(self, item, column): def fillTree(self): self.items = {} self.tree.clear() - text = str(self.searchBox.text()) + text = unicode(self.searchBox.text()) settings = SextanteConfig.getSettings() priorityKeys = ['General', "Models", "Scripts"] for group in priorityKeys: diff --git a/python/plugins/sextante/gui/CouldNotLoadResultsDialog.py b/python/plugins/sextante/gui/CouldNotLoadResultsDialog.py index b1bd662ebd98..539efa19d0dc 100644 --- a/python/plugins/sextante/gui/CouldNotLoadResultsDialog.py +++ b/python/plugins/sextante/gui/CouldNotLoadResultsDialog.py @@ -53,7 +53,7 @@ def setupUi(self): QtCore.QMetaObject.connectSlotsByName(self) def linkClicked(self, url): - webbrowser.open(str(url.toString())) + webbrowser.open(str(url)) def closeButtonPressed(self): self.close() \ No newline at end of file diff --git a/python/plugins/sextante/gui/FileSelectionPanel.py b/python/plugins/sextante/gui/FileSelectionPanel.py index e3092b58687a..37e8e407f178 100644 --- a/python/plugins/sextante/gui/FileSelectionPanel.py +++ b/python/plugins/sextante/gui/FileSelectionPanel.py @@ -47,13 +47,13 @@ def __init__(self, isFolder): def showSelectionDialog(self): # find the file dialog's working directory settings = QtCore.QSettings() - text = str(self.text.text()) + text = unicode(self.text.text()) if os.path.isdir(text): path = text elif os.path.isdir( os.path.dirname(text) ): path = os.path.dirname(text) elif settings.contains("/SextanteQGIS/LastInputPath"): - path = str(settings.value( "/SextanteQGIS/LastInputPath",QtCore.QVariant( "" ) ).toString()) + path = settings.value( "/SextanteQGIS/LastInputPath") else: path = "" @@ -61,15 +61,15 @@ def showSelectionDialog(self): folder = QtGui.QFileDialog.getExistingDirectory (self, "Select folder", path) if folder: self.text.setText(str(folder)) - settings.setValue("/SextanteQGIS/LastInputPath", os.path.dirname(str(folder))) + settings.setValue("/SextanteQGIS/LastInputPath", os.path.dirname(unicode(folder))) else: filenames = QtGui.QFileDialog.getOpenFileNames(self, "Open file", path, "*.*") if filenames: self.text.setText(str(filenames.join(";"))) - settings.setValue("/SextanteQGIS/LastInputPath", os.path.dirname(str(filenames[0]))) + settings.setValue("/SextanteQGIS/LastInputPath", os.path.dirname(unicode(filenames[0]))) def getValue(self): - s = str(self.text.text()) + s = unicode(self.text.text()) if SextanteUtils.isWindows(): s = s.replace("\\", "/") return s diff --git a/python/plugins/sextante/gui/FixedTableDialog.py b/python/plugins/sextante/gui/FixedTableDialog.py index 3786bedf1578..bb4cd0d6c2c6 100644 --- a/python/plugins/sextante/gui/FixedTableDialog.py +++ b/python/plugins/sextante/gui/FixedTableDialog.py @@ -84,7 +84,7 @@ def okPressed(self): for i in range(self.table.rowCount()): self.rettable.append(list()) for j in range(self.table.columnCount()): - self.rettable[i].append(str(self.table.item(i,j).text())) + self.rettable[i].append(unicode(self.table.item(i,j).text())) self.close() def cancelPressed(self): diff --git a/python/plugins/sextante/gui/InputLayerSelectorPanel.py b/python/plugins/sextante/gui/InputLayerSelectorPanel.py index df51cabeaeff..c78b528cf883 100644 --- a/python/plugins/sextante/gui/InputLayerSelectorPanel.py +++ b/python/plugins/sextante/gui/InputLayerSelectorPanel.py @@ -47,13 +47,13 @@ def __init__(self, options): def showSelectionDialog(self): # find the file dialog's working directory settings = QtCore.QSettings() - text = str(self.text.currentText()) + text = unicode(self.text.currentText()) if os.path.isdir(text): path = text elif os.path.isdir( os.path.dirname(text) ): path = os.path.dirname(text) elif settings.contains("/SextanteQGIS/LastInputPath"): - path = str(settings.value( "/SextanteQGIS/LastInputPath",QtCore.QVariant( "" ) ).toString()) + path = settings.value( "/SextanteQGIS/LastInputPath") else: path = "" diff --git a/python/plugins/sextante/gui/MissingDependencyDialog.py b/python/plugins/sextante/gui/MissingDependencyDialog.py index 12e0d8964790..89f459e39872 100644 --- a/python/plugins/sextante/gui/MissingDependencyDialog.py +++ b/python/plugins/sextante/gui/MissingDependencyDialog.py @@ -51,7 +51,7 @@ def setupUi(self): QtCore.QMetaObject.connectSlotsByName(self) def linkClicked(self, url): - webbrowser.open(str(url.toString())) + webbrowser.open(str(url)) def closeButtonPressed(self): self.close() \ No newline at end of file diff --git a/python/plugins/sextante/gui/OutputSelectionPanel.py b/python/plugins/sextante/gui/OutputSelectionPanel.py index aff7ce6fc288..63448b459510 100644 --- a/python/plugins/sextante/gui/OutputSelectionPanel.py +++ b/python/plugins/sextante/gui/OutputSelectionPanel.py @@ -77,10 +77,10 @@ def saveToFile(self): filefilter = self.output.getFileFilter(self.alg) settings = QSettings() if settings.contains("/SextanteQGIS/LastOutputPath"): - path = str(settings.value( "/SextanteQGIS/LastOutputPath", QVariant( "" ) ).toString()) + path = settings.value( "/SextanteQGIS/LastOutputPath") else: path = SextanteConfig.getSetting(SextanteConfig.OUTPUT_FOLDER) - lastEncoding = settings.value("/SextanteQGIS/encoding", "System").toString() + lastEncoding = settings.value("/SextanteQGIS/encoding", "System") fileDialog = QgsEncodingFileDialog(self, "Save file", QString(path), filefilter, lastEncoding) fileDialog.setFileMode(QFileDialog.AnyFile) fileDialog.setAcceptMode(QFileDialog.AcceptSave) @@ -91,11 +91,11 @@ def saveToFile(self): self.output.encoding = encoding filename= unicode(files.first()) self.text.setText(filename) - settings.setValue("/SextanteQGIS/LastOutputPath", os.path.dirname(str(filename))) + settings.setValue("/SextanteQGIS/LastOutputPath", os.path.dirname(filename)) settings.setValue("/SextanteQGIS/encoding", encoding) def getValue(self): - filename = str(self.text.text()) + filename = unicode(self.text.text()) if filename.strip() == "" or filename == OutputSelectionPanel.SAVE_TO_TEMP_FILE: return None if filename.startswith("memory:"): diff --git a/python/plugins/sextante/gui/RenderingStyleFilePanel.py b/python/plugins/sextante/gui/RenderingStyleFilePanel.py index 16bf31262f0a..7c19bc12db9a 100644 --- a/python/plugins/sextante/gui/RenderingStyleFilePanel.py +++ b/python/plugins/sextante/gui/RenderingStyleFilePanel.py @@ -47,11 +47,11 @@ def __init__(self): def showSelectionDialog(self): filename = QtGui.QFileDialog.getOpenFileName(self, "Select style file", "", "*.qml") if filename: - self.text.setText(str(filename)) + self.text.setText(unicode(filename)) def setText(self, text): - self.text.setText(str(text)) + self.text.setText(unicode(text)) def getValue(self): - filename = str(self.text.text()) + filename = unicode(self.text.text()) return filename \ No newline at end of file diff --git a/python/plugins/sextante/gui/SextanteToolbox.py b/python/plugins/sextante/gui/SextanteToolbox.py index a5e90743bed7..797a634841d3 100644 --- a/python/plugins/sextante/gui/SextanteToolbox.py +++ b/python/plugins/sextante/gui/SextanteToolbox.py @@ -61,7 +61,7 @@ def __init__(self, iface): settings = QSettings() if not settings.contains(self.USE_CATEGORIES): settings.setValue(self.USE_CATEGORIES, True) - useCategories = settings.value(self.USE_CATEGORIES).toBool() + useCategories = settings.value(self.USE_CATEGORIES, type = bool) if useCategories: self.modeComboBox.setCurrentIndex(0) else: @@ -174,7 +174,7 @@ def executeAlgorithm(self): def fillTree(self): settings = QSettings() - useCategories = settings.value(self.USE_CATEGORIES).toBool() + useCategories = settings.value(self.USE_CATEGORIES, type = bool) if useCategories: self.fillTreeUsingCategories() else: @@ -192,7 +192,6 @@ def addRecentAlgorithms(self, updating): recentItem = self.algorithmTree.topLevelItem(0) treeWidget = recentItem.treeWidget() treeWidget.takeTopLevelItem(treeWidget.indexOfTopLevelItem(recentItem)) - #self.algorithmTree.removeItemWidget(first, 0) recentItem = QTreeWidgetItem() recentItem.setText(0, self.tr("Recently used algorithms")) @@ -362,7 +361,7 @@ class TreeAlgorithmItem(QTreeWidgetItem): def __init__(self, alg): settings = QSettings() - useCategories = settings.value(SextanteToolbox.USE_CATEGORIES) + useCategories = settings.value(SextanteToolbox.USE_CATEGORIES, type = bool) QTreeWidgetItem.__init__(self) self.alg = alg icon = alg.getIcon() diff --git a/python/plugins/sextante/gui/TestTools.py b/python/plugins/sextante/gui/TestTools.py index 263b20c3ad1a..24ace018cbf4 100644 --- a/python/plugins/sextante/gui/TestTools.py +++ b/python/plugins/sextante/gui/TestTools.py @@ -87,8 +87,8 @@ def createTest(text): attrs = feature.attributes() s+="\tfeature=features.next()\n" s+="\tattrs=feature.attributes()\n" - s+="\texpectedvalues=[" + ",".join(['"' + str(attr.toString()) + '"' for attr in attrs]) + "]\n" - s+="\tvalues=[str(attr.toString()) for attr in attrs]\n" + s+="\texpectedvalues=[" + ",".join(['"' + str(attr) + '"' for attr in attrs]) + "]\n" + s+="\tvalues=[str(attr) for attr in attrs]\n" s+="\tself.assertEqual(expectedvalues, values)\n" s+="\twkt='" + str(feature.geometry().exportToWkt()) + "'\n" s+="\tself.assertEqual(wkt, str(feature.geometry().exportToWkt()))" diff --git a/python/plugins/sextante/gui/UnthreadedAlgorithmExecutor.py b/python/plugins/sextante/gui/UnthreadedAlgorithmExecutor.py index 8d89007096c1..2d35b797dfa0 100644 --- a/python/plugins/sextante/gui/UnthreadedAlgorithmExecutor.py +++ b/python/plugins/sextante/gui/UnthreadedAlgorithmExecutor.py @@ -54,7 +54,7 @@ def runalg(alg, progress): def runalgIterating(alg,paramToIter,progress): #generate all single-feature layers settings = QSettings() - systemEncoding = settings.value( "/UI/encoding", "System" ).toString() + systemEncoding = settings.value( "/UI/encoding", "System" ) layerfile = alg.getParameterValue(paramToIter) layer = QGisLayers.getObjectFromUri(layerfile, False) feat = QgsFeature() diff --git a/python/plugins/sextante/modeler/ModelerDialog.py b/python/plugins/sextante/modeler/ModelerDialog.py index dd891a59408d..52d5b8231200 100644 --- a/python/plugins/sextante/modeler/ModelerDialog.py +++ b/python/plugins/sextante/modeler/ModelerDialog.py @@ -272,7 +272,7 @@ def addAlgorithm(self): def fillAlgorithmTree(self): settings = QSettings() - useCategories = settings.value(self.USE_CATEGORIES).toBool() + useCategories = settings.value(self.USE_CATEGORIES, type = bool) if useCategories: self.fillAlgorithmTreeUsingCategories() else: diff --git a/python/plugins/sextante/modeler/ModelerParametersDialog.py b/python/plugins/sextante/modeler/ModelerParametersDialog.py index 1f479e86a955..8b7bbc21bf82 100644 --- a/python/plugins/sextante/modeler/ModelerParametersDialog.py +++ b/python/plugins/sextante/modeler/ModelerParametersDialog.py @@ -822,7 +822,7 @@ def setParamValue(self, param, widget): name = self.getSafeNameForHarcodedParameter(param) value = AlgorithmAndParameter(AlgorithmAndParameter.PARENT_MODEL_ALGORITHM, name) self.params[param.name] = value - self.values[name] = str(widget.text()) + self.values[name] = unicode(widget.text()) return True def getSafeNameForHarcodedParameter(self, param): diff --git a/python/plugins/sextante/outputs/OutputTable.py b/python/plugins/sextante/outputs/OutputTable.py index 2a5641832847..78aded17c55f 100644 --- a/python/plugins/sextante/outputs/OutputTable.py +++ b/python/plugins/sextante/outputs/OutputTable.py @@ -67,6 +67,6 @@ def getTableWriter(self, fields): if self.encoding is None: settings = QSettings() - self.encoding = settings.value("/SextanteQGIS/encoding", "System").toString() + self.encoding = settings.value("/SextanteQGIS/encoding", "System") return SextanteTableWriter(self.value, self.encoding, fields) \ No newline at end of file diff --git a/python/plugins/sextante/outputs/OutputVector.py b/python/plugins/sextante/outputs/OutputVector.py index 7d04b24b11a7..dd42e9ab89fe 100644 --- a/python/plugins/sextante/outputs/OutputVector.py +++ b/python/plugins/sextante/outputs/OutputVector.py @@ -80,7 +80,7 @@ def getVectorWriter(self, fields, geomType, crs, options=None): if self.encoding is None: settings = QSettings() - self.encoding = settings.value("/SextanteQGIS/encoding", "System").toString() + self.encoding = settings.value("/SextanteQGIS/encoding", "System") w = SextanteVectorWriter(self.value, self.encoding, fields, geomType, crs, options) self.memoryLayer = w.memLayer diff --git a/python/plugins/sextante/script/scripts/Number_of_unique_values_in_classes.py b/python/plugins/sextante/script/scripts/Number_of_unique_values_in_classes.py index 39e102478f8e..cb9386917129 100644 --- a/python/plugins/sextante/script/scripts/Number_of_unique_values_in_classes.py +++ b/python/plugins/sextante/script/scripts/Number_of_unique_values_in_classes.py @@ -38,8 +38,8 @@ progress.setPercentage(int((100 * nElement)/nFeat)) nElement += 1 attrs = inFeat.attributes() - clazz = attrs[class_field_index].toString() - value = attrs[value_field_index].toString() + clazz = attrs[class_field_index] + value = attrs[value_field_index] if clazz not in classes: classes[clazz] = [] if value not in classes[clazz]: @@ -54,8 +54,8 @@ inGeom = inFeat.geometry() outFeat.setGeometry(inGeom) attrs = inFeat.attributes() - clazz = attrs[class_field_index].toString() - attrs.append(QVariant(len(classes[clazz]))) + clazz = attrs[class_field_index] + attrs.append(len(classes[clazz])) outFeat.setAttributes(attrs) writer.addFeature(outFeat) diff --git a/python/plugins/sextante/script/scripts/Split_vector_layer_by_attribute.py b/python/plugins/sextante/script/scripts/Split_vector_layer_by_attribute.py index bf0d913d1d73..81cb07d552dd 100644 --- a/python/plugins/sextante/script/scripts/Split_vector_layer_by_attribute.py +++ b/python/plugins/sextante/script/scripts/Split_vector_layer_by_attribute.py @@ -35,7 +35,7 @@ progress.setPercentage(int((100 * nElement)/nFeat)) nElement += 1 atMap = inFeat.attributes() - clazz = atMap[class_field_index].toString() + clazz = atMap[class_field_index] if clazz not in writers: outputFile = output + "_" + str(len(writers)) + ".shp" writers[clazz] = SextanteVectorWriter(outputFile, None, fields, provider.geometryType(), layer.crs() ) diff --git a/python/plugins/sextante/script/scripts/Summarize.py b/python/plugins/sextante/script/scripts/Summarize.py index fd4942e452db..d662aa590cb0 100644 --- a/python/plugins/sextante/script/scripts/Summarize.py +++ b/python/plugins/sextante/script/scripts/Summarize.py @@ -22,7 +22,7 @@ attrs = ft.attributes() for f in range(len(fields)): try: - mean[f] += float(attrs[f].toDouble()[0]) + mean[f] += float(attrs[f]) except: pass count += 1 @@ -33,5 +33,5 @@ outFeat = QgsFeature() meanPoint = QgsPoint(x, y) outFeat.setGeometry(QgsGeometry.fromPoint(meanPoint)) -outFeat.setAttributes([QVariant(v) for v in mean]) +outFeat.setAttributes([v for v in mean]) outputLayer.addFeature(outFeat) diff --git a/python/plugins/sextante/tools/vector.py b/python/plugins/sextante/tools/vector.py index 891f5955c0dd..e3fe343f48ea 100644 --- a/python/plugins/sextante/tools/vector.py +++ b/python/plugins/sextante/tools/vector.py @@ -58,7 +58,8 @@ def values(layer, *attributes): '''Returns the values in the attributes table of a vector layer, for the passed fields. Field can be passed as field names or as zero-based field indices. Returns a dict of lists, with the passed field identifiers as keys. - It considers the existing selection''' + It considers the existing selection. + It assummes fields are numeric or contain values that can be parsed to a number''' ret = {} for attr in attributes: index = resolveFieldIndex(layer, attr) @@ -66,7 +67,7 @@ def values(layer, *attributes): features = QGisLayers.features(layer) for feature in features: try: - v = float(feature.attributes()[index].toString()) + v = float(feature.attributes()[index]) values.append(v) except: values.append(None)