Revision 432fc8c3 api/servers.py

b/api/servers.py
323 323

  
324 324
    vm = get_vm(server_id)
325 325
    metadata = metadata_to_dict(vm)
326
    
327
    if request.serialization == 'xml':
328
        data = render_to_string('metadata.xml', {'metadata': metadata})
329
    else:
330
        data = json.dumps({'metadata': {'values': metadata}})
331
    
332
    return HttpResponse(data, status=200)
333
    
326
    return render_metadata(request, metadata, use_values=True, status=200)
334 327

  
335 328
@api_method('POST')
336 329
def update_metadata(request, server_id):
......
362 355
        except VirtualMachineMetadata.DoesNotExist:
363 356
            pass    # Ignore non-existent metadata
364 357
    
365
    if request.serialization == 'xml':
366
        data = render_to_string('servers/metadata.xml', {'metadata': updated})
367
    else:
368
        data = json.dumps({'metadata': updated})
369
    return HttpResponse(data, status=201)
358
    return render_metadata(request, metadata, status=201)
370 359

  
371 360
@api_method('GET')
372 361
def get_metadata_item(request, server_id, key):
......
379 368
    #                       overLimit (413)
380 369

  
381 370
    meta = get_vm_meta(server_id, key)
382
    if request.serialization == 'xml':
383
        data = render_to_string('meta.xml', {'meta': meta})
384
    else:
385
        data = json.dumps({'meta': {key: meta.meta_value}})
386
    return HttpResponse(data, status=200)
371
    return render_meta(request, meta, status=200)
387 372

  
388 373
@api_method('PUT')
389 374
def create_metadata_item(request, server_id, key):
......
410 395
    meta, created = VirtualMachineMetadata.objects.get_or_create(meta_key=key, vm=vm)
411 396
    meta.meta_value = metadict[key]
412 397
    meta.save()
413
    
414
    if request.serialization == 'xml':
415
        data = render_to_string('servers/meta.xml', {'meta': meta})
416
    else:
417
        data = json.dumps({'meta': {key: meta.meta_value}})
418
    return HttpResponse(data, status=201)
398
    return render_meta(request, meta, status=201)
419 399

  
420 400
@api_method('DELETE')
421 401
def delete_metadata_item(request, server_id, key):

Also available in: Unified diff