summaryrefslogtreecommitdiff
path: root/query/__init__.py
diff options
context:
space:
mode:
authorJosh Blum2013-09-15 23:18:24 -0700
committerJosh Blum2013-09-15 23:18:24 -0700
commitdda8032dfb75b61256144e3f90701925f52c0fc2 (patch)
tree03967637a96ef788fa3614916e8cb4c8afbd0ec8 /query/__init__.py
parent4f50f9d0c52b1efd09d1f7ed7aadbfef94949eb2 (diff)
downloadsandhi-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__.py9
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))