[pypy-svn] r38897 - in pypy/dist/pypy/translator/js: examples lib

fijal at codespeak.net fijal at codespeak.net
Thu Feb 15 15:28:06 CET 2007


Author: fijal
Date: Thu Feb 15 15:28:05 2007
New Revision: 38897

Modified:
   pypy/dist/pypy/translator/js/examples/pythonconsole.py
   pypy/dist/pypy/translator/js/lib/support.py
Log:
Fix pythonconsole (copying function from deleted dir)


Modified: pypy/dist/pypy/translator/js/examples/pythonconsole.py
==============================================================================
--- pypy/dist/pypy/translator/js/examples/pythonconsole.py	(original)
+++ pypy/dist/pypy/translator/js/examples/pythonconsole.py	Thu Feb 15 15:28:05 2007
@@ -17,7 +17,7 @@
 from pypy.translator.js import commproxy
 from pypy.rpython.extfunc import _callable
 
-from pypy.translator.js.demo.jsdemo import support
+from pypy.translator.js.lib import support
 from pypy.translator.js.lib import server
 
 commproxy.USE_MOCHIKIT = True

Modified: pypy/dist/pypy/translator/js/lib/support.py
==============================================================================
--- pypy/dist/pypy/translator/js/lib/support.py	(original)
+++ pypy/dist/pypy/translator/js/lib/support.py	Thu Feb 15 15:28:05 2007
@@ -23,3 +23,23 @@
         return func
 
     return decorator
+
+import sys, new
+from pypy.translator.js.main import rpython2javascript
+
+def js_source(functions, use_pdb=True):
+    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, use_pdb=use_pdb)
+    finally:
+        del sys.modules['_js_src']
+



More information about the Pypy-commit mailing list