[pypy-svn] r31749 - in pypy/dist/pypy/translator/js: . turbogears

ericvrp at codespeak.net ericvrp at codespeak.net
Sun Aug 27 19:59:55 CEST 2006


Author: ericvrp
Date: Sun Aug 27 19:59:54 2006
New Revision: 31749

Added:
   pypy/dist/pypy/translator/js/turbogears/widgets.py   (contents, props changed)
Modified:
   pypy/dist/pypy/translator/js/main.py
   pypy/dist/pypy/translator/js/turbogears/setup.py
Log:
A basic TG widget to translate RPython to Javascript.
js/main now returns the javascript sourceode in both entrypoints.
Add the TurboGears dependency to rpython2javascript egg.


Modified: pypy/dist/pypy/translator/js/main.py
==============================================================================
--- pypy/dist/pypy/translator/js/main.py	(original)
+++ pypy/dist/pypy/translator/js/main.py	Sun Aug 27 19:59:54 2006
@@ -36,7 +36,7 @@
         module_name = module_name[:-3]
     function_names = argv[1:]
     mod = __import__(module_name, None, None, ["Module"])
-    rpython2javascript(mod, function_names)
+    return rpython2javascript(mod, function_names)
 
 def rpython2javascript(mod, function_names):
     module_name = mod.__name__

Modified: pypy/dist/pypy/translator/js/turbogears/setup.py
==============================================================================
--- pypy/dist/pypy/translator/js/turbogears/setup.py	(original)
+++ pypy/dist/pypy/translator/js/turbogears/setup.py	Sun Aug 27 19:59:54 2006
@@ -17,9 +17,9 @@
     download_url="http://codespeak.net/~ericvrp/rpython2javascript/",
     license="MIT",
     
-    #install_requires = [
-    #    "TurboGears >= 1.1a0",
-    #],
+    install_requires = [
+        "TurboGears >= 0.9a6",
+    ],
 
     #scripts = [
     #    "start-topl.py"
@@ -39,6 +39,9 @@
     
         [python.templating.engines]
         asjavascript = rpython2javascript.pypy.translator.js.turbogears.templateplugin:TemplatePlugin
+
+        [turbogears.widgets]
+        RPyJSSource = rpython2javascript.pypy.translator.js.turbogears.widgets
         """,
         
     #keywords = [

Added: pypy/dist/pypy/translator/js/turbogears/widgets.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/translator/js/turbogears/widgets.py	Sun Aug 27 19:59:54 2006
@@ -0,0 +1,18 @@
+from turbogears.widgets.base import JSSource, CoreWD, RenderOnlyWD
+
+class RPyJSSource(JSSource):
+    def __init__(self, src, location=None):
+        #print 'RPyJSSource: python:', src
+        mod = 'RPyJSSourceTmp.py'
+        f = open(mod, 'w')
+        f.write(src)
+        f.close()
+        function_names = []
+        from rpython2javascript.pypy.translator.js.main import rpython2javascript_main
+        jssrc = rpython2javascript_main([mod] + function_names)
+        #print 'RPyJSSource: javascript:', jssrc
+        super(RPyJSSource, self).__init__(jssrc)
+        
+class RPyJSSourceDesc(CoreWD, RenderOnlyWD):
+    name = "RPyJSSource"
+    for_widget = RPyJSSource("def main(): return 42")



More information about the Pypy-commit mailing list