@@ -260,10 +260,10 @@ def run( self ):
260
260
for mergedField in mergedFields :
261
261
if mergedField .name () == layerField .name () and mergedField .type () == layerField .type ():
262
262
fieldFound = True
263
- break
263
+ break
264
264
265
265
if not fieldFound :
266
- if not fieldMap .has_key (shapeIndex ):
266
+ if not fieldMap .has_key (shapeIndex ):
267
267
fieldMap [shapeIndex ]= {}
268
268
269
269
fieldMap [shapeIndex ][fieldIndex ] = len (mergedFields )
@@ -283,8 +283,12 @@ def run( self ):
283
283
self .geom = newLayer .wkbType ()
284
284
vprovider = newLayer .dataProvider ()
285
285
286
+ fields = QgsFields ()
287
+ for f in mergedFields :
288
+ fields .append (f )
289
+
286
290
writer = QgsVectorFileWriter ( self .outputFileName , self .outputEncoding ,
287
- mergedFields , self .geom , self .crs )
291
+ fields , self .geom , self .crs )
288
292
289
293
shapeIndex = 0
290
294
for fileName in self .shapes :
@@ -306,10 +310,10 @@ def run( self ):
306
310
mergedAttrs = [QVariant ()] * len (mergedFields )
307
311
308
312
# fill available attributes with values
309
- fieldIndex = 0
313
+ fieldIndex = 0
310
314
for v in inFeat .attributes ():
311
- if fieldMap .has_key (shapeIndex ) and fieldMap [shapeIndex ].has_key (layerIndex ):
312
- mergedAttrs [ fieldMap [shapeIndex ][layerIndex ] ] = v
315
+ if fieldMap .has_key (shapeIndex ) and fieldMap [shapeIndex ].has_key (fieldIndex ):
316
+ mergedAttrs [ fieldMap [shapeIndex ][fieldIndex ] ] = v
313
317
fieldIndex += 1
314
318
315
319
inGeom = QgsGeometry ( inFeat .geometry () )
0 commit comments