Skip to content

Commit f53576d

Browse files
committedMar 25, 2014
make menthod and variable naming consistent, some cleanup
1 parent 71e57a7 commit f53576d

File tree

1 file changed

+28
-42
lines changed

1 file changed

+28
-42
lines changed
 

‎python/plugins/processing/tools/vector.py

Lines changed: 28 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -278,63 +278,49 @@ def combineVectorFields(layerA, layerB):
278278
return fields
279279

280280

281-
def duplicate_in_memory(layer, new_name='', add_to_registry=False):
282-
"""
283-
Return a memory copy of a layer
284-
285-
:param layer: QgsVectorLayer that shall be copied to memory.
286-
:type layer: QgsVectorLayer
287-
288-
:param new_name: The name of the copied layer.
289-
:type new_name: str
290-
291-
:param add_to_registry: if True, the new layer will be added to
292-
the QgsMapRegistry
293-
:type: bool
281+
def duplicateInMemory(layer, newName='', addToRegistry=False):
282+
"""Return a memory copy of a layer
294283
295-
:returns: An in-memory copy of a layer.
296-
:rtype: QgsMapLayer
284+
layer: QgsVectorLayer that shall be copied to memory.
285+
new_name: The name of the copied layer.
286+
add_to_registry: if True, the new layer will be added to the QgsMapRegistry
297287
288+
Returns an in-memory copy of a layer.
298289
"""
299-
if new_name is '':
300-
new_name = layer.name() + ' TMP'
290+
if newName is '':
291+
newName = layer.name() + ' (Memory)'
301292

302293
if layer.type() == QgsMapLayer.VectorLayer:
303-
v_type = layer.geometryType()
304-
if v_type == QGis.Point:
305-
type_str = 'Point'
306-
elif v_type == QGis.Line:
307-
type_str = 'Line'
308-
elif v_type == QGis.Polygon:
309-
type_str = 'Polygon'
294+
geomType = layer.geometryType()
295+
if geomType == QGis.Point:
296+
strType = 'Point'
297+
elif geomType == QGis.Line:
298+
strType = 'Line'
299+
elif geomType == QGis.Polygon:
300+
strType = 'Polygon'
310301
else:
311-
raise RuntimeError('Layer is whether Point nor '
312-
'Line nor Polygon')
302+
raise RuntimeError('Layer is whether Point nor Line nor Polygon')
313303
else:
314304
raise RuntimeError('Layer is not a VectorLayer')
315305

316306
crs = layer.crs().authid().lower()
317-
my_uuid = str(uuid.uuid4())
318-
uri = '%s?crs=%s&index=yes&uuid=%s' % (type_str, crs, my_uuid)
319-
mem_layer = QgsVectorLayer(uri, new_name, 'memory')
320-
mem_provider = mem_layer.dataProvider()
307+
myUuid = str(uuid.uuid4())
308+
uri = '%s?crs=%s&index=yes&uuid=%s' % (strType, crs, myUuid)
309+
memLayer = QgsVectorLayer(uri, newName, 'memory')
310+
memProvider = memLayer.dataProvider()
321311

322312
provider = layer.dataProvider()
323-
v_fields = provider.fields()
324-
325-
fields = []
326-
for i in v_fields:
327-
fields.append(i)
328-
329-
mem_provider.addAttributes(fields)
313+
fields = provider.fields().toList()
314+
memProvider.addAttributes(fields)
315+
memLayer.updateFields()
330316

331317
for ft in provider.getFeatures():
332-
mem_provider.addFeatures([ft])
318+
memProvider.addFeatures([ft])
333319

334-
if add_to_registry:
335-
if mem_layer.isValid():
336-
QgsMapLayerRegistry.instance().addMapLayer(mem_layer)
320+
if addToRegistry:
321+
if memLayer.isValid():
322+
QgsMapLayerRegistry.instance().addMapLayer(memLayer)
337323
else:
338324
raise RuntimeError('Layer invalid')
339325

340-
return mem_layer
326+
return memLayer

0 commit comments

Comments
 (0)
Please sign in to comment.