killqgis.py

script to reproduce bug - Marco Bernasocchi, 2015-03-30 08:19 AM

Download (849 Bytes)

 
1
from PyQt4.QtCore import QVariant
2
#create test data in SHP
3
vl = QgsVectorLayer("Point?crs=epsg:4326&field=name:string(20)", "temporary_points", "memory")
4
pr = vl.dataProvider()
5
vl.startEditing()
6
fet = QgsFeature()
7
fet.setGeometry(QgsGeometry.fromPoint(QgsPoint(10,10)))
8
fet.setAttributes(["Johny"])
9
pr.addFeatures([fet])
10
vl.commitChanges()
11
filepath = '/tmp/test.shp'
12
QgsVectorFileWriter.writeAsVectorFormat(vl, filepath, "CP1250", None, "ESRI Shapefile")
13

    
14

    
15
#load SHP, works with any shp
16
vl = QgsVectorLayer(filepath, "temporary_points", "ogr")
17
QgsMapLayerRegistry.instance().addMapLayer(vl)
18

    
19
#open the attribute table, important!
20
iface.actionOpenTable().trigger()
21

    
22
pr = vl.dataProvider()
23
vl.startEditing()
24
pr.addAttributes([QgsField("name2", QVariant.String)])
25
vl.commitChanges()
26
vl.startEditing()
27
print "now in the attribute table delete a field"
28