comparison wsgraph/web.py @ 7:9016b126aa87

WIP
author Jeff Hammel <jhammel@mozilla.com>
date Mon, 10 Dec 2012 13:55:58 -0800
parents 259210f2e029
children 421d5119e324
comparison
equal deleted inserted replaced
6:259210f2e029 7:9016b126aa87
11 GRAPH = 0 11 GRAPH = 0
12 NODE = 1 12 NODE = 1
13 EDGE = 2 13 EDGE = 2
14 14
15 # XXX stubbing hacks 15 # XXX stubbing hacks
16 class JSONformatter(object):
17 def __init__(self, sort_keys=True):
18 self.sort_keys = sort_keys
19
20 def format(self, _object):
21 return json.dumps(graph.node(node), sort_keys=self.sort_keys)
22
23 def node(self, node, graph, request):
24 return Response(body=self.format(graph.node(node)))
25
16 def JSONFormatter(node, graph, request): 26 def JSONFormatter(node, graph, request):
17 return json.dumps(graph.node(node), sort_keys=True) 27 return json.dumps(graph.node(node), sort_keys=True)
18 def JSONGraphFormatter(graph, request): 28 def JSONGraphFormatter(graph, request):
19 return json.dumps({'nodes': graph.nodes(), 29 return json.dumps({'nodes': graph.nodes(),
20 'edges': graph.edges()}, 30 'edges': graph.edges()},
92 102
93 ?format=<format> 103 ?format=<format>
94 104
95 """ 105 """
96 106
107 # get resource requestor
97 segments = self.path_segments(request.path_info) 108 segments = self.path_segments(request.path_info)
98 if len(segments) not in (0,1,2): 109 if len(segments) not in (0,1,2):
99 return exc.HTTPNotFound() 110 return exc.HTTPNotFound()
111
112
113 # is resource in the graph? [TODO]
100 114
101 # formatter 115 # formatter
102 formatter = self.formatters[len(segments)] 116 formatter = self.formatters[len(segments)]
103 return Response(content_type='text/plain', 117 return Response(content_type='text/plain',
104 body="WSGraph") 118 body="WSGraph")