Index: tools/deep_memory_profiler/visualizer/app.py |
diff --git a/tools/deep_memory_profiler/visualizer/app.py b/tools/deep_memory_profiler/visualizer/app.py |
index f08cfce842d7c99896db0cc1e12a8c5b28c2ad47..aa9bd99105a38338a66556c4ca05bbbb90d118c1 100644 |
--- a/tools/deep_memory_profiler/visualizer/app.py |
+++ b/tools/deep_memory_profiler/visualizer/app.py |
@@ -3,7 +3,9 @@ |
# found in the LICENSE file. |
import jinja2 |
+import json |
import os |
+import re |
import urllib |
import webapp2 |
@@ -68,7 +70,26 @@ class UploadHandler(blobstore_handlers.BlobstoreUploadHandler): |
self.redirect('/?' + urllib.urlencode(req_params)) |
+class ShareHandler(webapp2.RequestHandler): |
+ """Handle breakdown template sharing. Generate public url for transferred |
+ template and return it back.""" |
+ def post(self): |
+ run_id = self.request.POST['run_id'] |
+ content = json.loads(self.request.POST['content']) |
+ tmpl_key = services.CreateTemplate(content) |
+ |
+ req_params = { |
+ 'run_id': run_id, |
+ 'tmpl_id': tmpl_key.urlsafe() |
+ } |
+ |
+ # Take out host url from request by removing share suffix. |
+ url = re.sub('share', '', self.request.url) |
+ self.response.write(url + '?' + urllib.urlencode(req_params)) |
+ |
+ |
application = webapp2.WSGIApplication([ |
('/', MainPage), |
- ('/upload', UploadHandler) |
+ ('/upload', UploadHandler), |
+ ('/share', ShareHandler) |
], debug=True) |