示例#1
0
    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()
示例#2
0
 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'''\