From: Ciro Scognamiglio Date: Tue, 25 Feb 2014 18:08:22 +0000 (+0100) Subject: rest testbeds, slices, users X-Git-Tag: myslice-1.1~304 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=971a334abbba1210dce367d63b145f5a35cd932b;p=myslice.git rest testbeds, slices, users --- diff --git a/rest/__init__.py b/rest/__init__.py index 701b6249..6e4edc7e 100644 --- a/rest/__init__.py +++ b/rest/__init__.py @@ -1,6 +1,7 @@ from manifold.core.query import Query from django.views.generic.base import TemplateView +from django.shortcuts import render_to_response from unfold.loginrequired import LoginRequiredView from django.http import HttpResponse @@ -17,11 +18,12 @@ def dispatch(request, object_type, object_name): switch = { 'platform' : platform, 'slice' : slice, + 'resource' : resource, 'user' : user } # platform is local - if (object_type == 'platform') : + if ((object_type == 'platform') or (object_type == 'testbed')) : object_type = 'local:platform' object_properties = ['platform', 'platform_longname', 'platform_url', 'platform_description','gateway_type']; return switch.get('platform', error)(request, object_name, object_properties) @@ -33,7 +35,7 @@ def dispatch(request, object_type, object_name): for r in results[0]['column'] : object_properties.append(r['name']) else : - return error() + return error(request, object_name, {}) return switch.get(object_type, error)(request, object_name, object_properties) # if request.method == 'GET': @@ -49,6 +51,9 @@ def slice(request, object_name, object_properties): query = Query().get('slice').filter_by('user.user_hrn', '==', '$user_hrn').select(object_properties) return send(request, execute_query(request, query), object_properties) +def resource(request, object_name, object_properties): + pass + def user(request, object_name, object_properties): query = Query().get('user').filter_by('user_hrn', '==', '$user_hrn').select(object_properties) return send(request, execute_query(request, query), object_properties) @@ -56,8 +61,9 @@ def user(request, object_name, object_properties): def send(request, response, object_properties): if request.path.split('/')[1] == 'rest' : response_data = response + return HttpResponse(json.dumps(response_data), content_type="application/json") elif request.path.split('/')[1] == 'table' : - response_data = response + return render_to_response('table-default.html', {'data' : response, 'properties' : object_properties}) elif request.path.split('/')[1] == 'datatable' : response_data = {} response_data['columns'] = object_properties @@ -72,9 +78,8 @@ def send(request, response, object_properties): print d response_data['data'].append(d) - #response_data['data'].append([ r['platform'], r['platform_longname'], r['platform_url'], r['platform_description'], r['gateway_type'] ]) - return HttpResponse(json.dumps(response_data), content_type="application/json") + return HttpResponse(json.dumps(response_data), content_type="application/json") def error(request, object_name, object_properties): - return HttpResponse(json.dumps({'error' : 'an error has occurred'}), content_type="application/json") + return HttpResponse(json.dumps({'error' : 'an error has occurred'}), content_type="application/json") \ No newline at end of file