def get(self, account, project, exec_name): key = ALL_SPECS_KEY % (account,project) if not key in REDIS: raise tornado.web.HTTPError(404) # self.finish() else: try: node_id = getNodeId(self,account, project) # node cookie ids = REDIS.smembers(key) all_list = [(i,REDIS[TRANSLATED_SPEC_KEY % (account,project,i)]) for i in ids] bits = ['''{"id":"%s","describe":%s}''' % e for e in all_list] specs = ",".join(bits) xsrf_input_markup = "'%s'" % self.xsrf_form_html().replace("'",'"') # Session specific token passed to Script src, run_script = load_and_translate(self.run_script, xsrf_input_markup = xsrf_input_markup, xsrf_token = self.xsrf_token, exec_name = exec_name, account=account, project=project, script_name = '"%s.js"' % exec_name, specs = specs) print "Writing 'run_script' " self.set_header('Content-Type', 'text/javascript') self.write(run_script) self.finish() except Exception, e: print "execute handler problem", e import traceback; traceback.print_exc()
def test_load_and_translate(self): from os.path import dirname, join named_path = join(dirname(__file__),"assets","named.scope.js") api_path = join(dirname(__file__),"assets","api.js") print named_path load_and_add_scope('"%s"' % "named.scope.js"[:-9], named_path) src, translated = load_and_translate(api_path, exec_name = "_exec_name_", specs = "_specs_") print translated assert translated == u'''\