1 from manifold.core.query import Query
3 from django.views.generic.base import TemplateView
5 from unfold.loginrequired import LoginRequiredView
6 from django.http import HttpResponse
8 from manifold.core.query import Query, AnalyzedQuery
9 from manifold.manifoldapi import execute_query
11 from string import join
15 def dispatch(request, object_type, object_name):
18 'platform' : platform,
24 if (object_type == 'platform') :
25 object_type = 'local:platform'
26 object_properties = ['platform', 'platform_longname', 'platform_url', 'platform_description','gateway_type'];
28 query = Query.get('local:object').filter_by('table', '==', object_type).select('column.name')
29 results = execute_query(request, query)
31 object_properties = []
32 for r in results[0]['column'] :
33 object_properties.append(r['name'])
37 return switch.get(object_type, error)(request, object_type, object_name, object_properties)
39 # if request.method == 'GET':
40 # return switch.get(request, object_type, object_name, object_properties)
41 # elif request.method == 'POST':
42 # return post(request, object_type, object_name)
45 return HttpResponse(json.dumps({'user' : 'error message'}), content_type="application/json")
48 return HttpResponse(json.dumps({'user' : 'error message'}), content_type="application/json")
50 def user(request, object_type, object_name, object_properties):
51 query = Query().get('user').filter_by('user_hrn', '==', '$user_hrn').select(object_properties)
52 #.select('slice.slice_hrn')
54 return send(request, execute_query(request, query), object_properties)
56 def send(request, response, object_properties):
57 if request.path.split('/')[1] == 'rest' :
58 response_data = response
61 response_data['columns'] = object_properties
62 response_data['labels'] = object_properties
63 #response_data['labels'] = [ 'Platform', 'Name', 'Url', 'Description','Gateway Type' ]
64 response_data['data'] = []
65 response_data['total'] = len(response)
68 for p in object_properties :
72 response_data['data'].append(d)
73 #response_data['data'].append([ r['platform'], r['platform_longname'], r['platform_url'], r['platform_description'], r['gateway_type'] ])
75 return HttpResponse(json.dumps(response_data), content_type="application/json")
81 def get(request, object_type, object_name, object_properties):
83 query = Query().get(object_type).select(object_properties).filter_by('user_hrn', '=', '$user_hrn')
85 query = query.filter_by(object_type + '_hrn', '=', object_name)
87 response = execute_query(request, query)
90 response_data['columns'] = object_properties
91 response_data['labels'] = object_properties
92 #response_data['labels'] = [ 'Platform', 'Name', 'Url', 'Description','Gateway Type' ]
93 response_data['data'] = []
94 response_data['total'] = len(response)
97 for p in object_properties :
101 response_data['data'].append(d)
102 #response_data['data'].append([ r['platform'], r['platform_longname'], r['platform_url'], r['platform_description'], r['gateway_type'] ])
104 return HttpResponse(json.dumps(response_data), content_type="application/json")
106 def post(request, object_type, object_name):
110 return HttpResponse(json.dumps({'error' : 'error message'}), content_type="application/json")