[pypy-svn] r34676 - pypy/dist/pypy/translator/js/demo/jsdemo

pedronis at codespeak.net pedronis at codespeak.net
Thu Nov 16 16:34:20 CET 2006


Author: pedronis
Date: Thu Nov 16 16:34:16 2006
New Revision: 34676

Added:
   pypy/dist/pypy/translator/js/demo/jsdemo/support.py   (contents, props changed)
Modified:
   pypy/dist/pypy/translator/js/demo/jsdemo/example.py
   pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py
Log:
use the js_source style (moved the helper to the support file) for both basic demos.



Modified: pypy/dist/pypy/translator/js/demo/jsdemo/example.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/example.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/example.py	Thu Nov 16 16:34:16 2006
@@ -4,7 +4,8 @@
 
 import autopath
 
-from pypy.translator.js.test.runtest import compile_function
+from pypy.translator.js.demo.jsdemo import support
+
 from pypy.translator.js.modules.dom import setTimeout, get_document
 from pypy.rpython.ootypesystem.bltregistry import MethodDesc, BasicExternal
 from pypy.translator.js import commproxy
@@ -81,10 +82,8 @@
         if self.server.source:
             source = self.server.source
         else:
-            fn = compile_function(runjs, [])
-            source = fn.source()
+            source = support.js_source([runjs])
             self.server.source = source
-        
         self.serve_data("text/javascript", source)
     
     def serve_data(self, content_type, data):

Modified: pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/pythonconsole.py	Thu Nov 16 16:34:16 2006
@@ -10,36 +10,20 @@
 
 import autopath
 
-import new, sys, os, cStringIO
+import sys, os, cStringIO
 from cgi import parse_qs
 from pypy.translator.js.modules.dom import setTimeout, get_document
-from pypy.translator.js.main import rpython2javascript
 from pypy.rpython.ootypesystem.bltregistry import MethodDesc, BasicExternal
 from pypy.translator.js import commproxy
 from pypy.translator.js.modules.mochikit import escapeHTML
 
+from pypy.translator.js.demo.jsdemo import support
+
 commproxy.USE_MOCHIKIT = True
 
 from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
 #from SimpleHTTPServer import SimpleHTTPRequestHandler
 
-def js_source(functions):
-    mod = new.module('_js_src')
-    function_names = []
-    for func in functions:
-        name = func.__name__
-        if hasattr(mod, name):
-            raise ValueError("exported function name %r is duplicated"
-                             % (name,))
-        mod.__dict__[name] = func
-        function_names.append(name)
-    sys.modules['_js_src'] = mod
-    try:
-        return rpython2javascript(mod, function_names)
-    finally:
-        del sys.modules['_js_src']
-
-# ____________________________________________________________
 
 HTML_PAGE = """
 <html>
@@ -181,7 +165,7 @@
         if self.server.source:
             source = self.server.source
         else:
-            source = js_source([setup_page])
+            source = support.js_source([setup_page])
             self.server.source = source
         self.serve_data("text/javascript", source)
     

Added: pypy/dist/pypy/translator/js/demo/jsdemo/support.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/support.py	Thu Nov 16 16:34:16 2006
@@ -0,0 +1,20 @@
+
+import sys, new
+from pypy.translator.js.main import rpython2javascript
+
+def js_source(functions):
+    mod = new.module('_js_src')
+    function_names = []
+    for func in functions:
+        name = func.__name__
+        if hasattr(mod, name):
+            raise ValueError("exported function name %r is duplicated"
+                             % (name,))
+        mod.__dict__[name] = func
+        function_names.append(name)
+    sys.modules['_js_src'] = mod
+    try:
+        return rpython2javascript(mod, function_names)
+    finally:
+        del sys.modules['_js_src']
+



More information about the Pypy-commit mailing list