diff options
author | Josh Blum | 2013-09-15 23:18:24 -0700 |
---|---|---|
committer | Josh Blum | 2013-09-15 23:18:24 -0700 |
commit | dda8032dfb75b61256144e3f90701925f52c0fc2 (patch) | |
tree | 03967637a96ef788fa3614916e8cb4c8afbd0ec8 /query/__init__.py | |
parent | 4f50f9d0c52b1efd09d1f7ed7aadbfef94949eb2 (diff) | |
download | sandhi-dda8032dfb75b61256144e3f90701925f52c0fc2.tar.gz sandhi-dda8032dfb75b61256144e3f90701925f52c0fc2.tar.bz2 sandhi-dda8032dfb75b61256144e3f90701925f52c0fc2.zip |
gras: added topology display to the webgui
Diffstat (limited to 'query/__init__.py')
-rw-r--r-- | query/__init__.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/query/__init__.py b/query/__init__.py index 403e68c..2b82a4b 100644 --- a/query/__init__.py +++ b/query/__init__.py @@ -26,12 +26,16 @@ class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): args = server_registry[s.server] path = o.path + query_args = dict([(k,v) for k,v in urlparse.parse_qs(o.query).iteritems()]) + #generate the topology png - if path == "/topology.png": + if path.endswith('dot.png'): s.send_response(200) s.send_header("Content-type", "image/png") s.end_headers() - dot_markup = args['top_block'].query(json.dumps(dict(path='/topology.dot'))) + query_args['path'] = os.path.splitext(path)[0] + json_args = json.dumps(query_args) + dot_markup = args['top_block'].query(json_args) import subprocess dot_exe = os.environ.get("DOT_EXECUTABLE", "dot") p = subprocess.Popen(args=[dot_exe, "-T", "png"], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -48,7 +52,6 @@ class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler): arg_strs = dict((str(k), str(v)) for k, v in args.iteritems()) s.wfile.write(json.dumps(arg_strs)) else: - query_args = dict([(k,v) for k,v in urlparse.parse_qs(o.query).iteritems()]) query_args['path'] = path json_args = json.dumps(query_args) s.wfile.write(args['top_block'].query(json_args)) |