[pypy-svn] r31701 - in pypy/dist/pypy/translator/js: . turbogears
ericvrp at codespeak.net
ericvrp at codespeak.net
Sat Aug 26 23:29:51 CEST 2006
Author: ericvrp
Date: Sat Aug 26 23:29:50 2006
New Revision: 31701
Added:
pypy/dist/pypy/translator/js/autopath.py
- copied unchanged from r31700, pypy/dist/pypy/bin/autopath.py
pypy/dist/pypy/translator/js/turbogears/commandjs.py (contents, props changed)
Modified:
pypy/dist/pypy/translator/js/main.py
pypy/dist/pypy/translator/js/turbogears/setup.py
pypy/dist/pypy/translator/js/turbogears/templateplugin.py
Log:
Added "tg-admin js modulename <function_names>" for TurboGears.
Added function 'main' as fallback when no function names are given.
Fixed import statements because of th refactoring to js/main.py.
Modified: pypy/dist/pypy/translator/js/main.py
==============================================================================
--- pypy/dist/pypy/translator/js/main.py (original)
+++ pypy/dist/pypy/translator/js/main.py Sat Aug 26 23:29:50 2006
@@ -1,7 +1,9 @@
"""Contains high level javascript compilation function
"""
-from pypy.translator.js.test.runtest import compile_function
+import autopath
+
+#from pypy.translator.js.test.runtest import compile_function
#from pypy.translator.translator import TranslationContext
from pypy.translator.driver import TranslationDriver
from pypy.translator.js.js import JS
@@ -25,16 +27,21 @@
return "(%s)" % ",".join(l)
def rpython2javascript_main(argv):
- if len(argv) < 2:
- print __doc__
+ if len(argv) < 1:
+ print "usage: module <function_names>"
+ import sys
sys.exit(0)
module_name = argv[0]
+ if module_name.endswith('.py'):
+ module_name = module_name[:-3]
function_names = argv[1:]
mod = __import__(module_name, None, None, ["Module"])
rpython2javascript(mod, function_names)
def rpython2javascript(mod, function_names):
module_name = mod.__name__
+ if not function_names and 'main' in mod.__dict__:
+ function_names.append('main')
for func_name in function_names:
if func_name not in mod.__dict__:
raise FunctionNotFound("function %r was not found in module %r" % (func_name, module_name))
Added: pypy/dist/pypy/translator/js/turbogears/commandjs.py
==============================================================================
--- (empty file)
+++ pypy/dist/pypy/translator/js/turbogears/commandjs.py Sat Aug 26 23:29:50 2006
@@ -0,0 +1,45 @@
+#!/usr/bin/env python
+
+"""Command-line user interface for rpython2javascript."""
+
+import optparse
+
+from rpython2javascript.pypy.translator.js.main import rpython2javascript_main
+
+class JsCommand:
+ "Translate RPython code to Javascript via command-line interface."
+
+ desc = "Translate RPython to Javascript"
+
+ name = None
+ package = None
+ __version__ = "0.2"
+ __author__ = "Eric van Riet Paap"
+ __email__ = "eric at vanrietpaap.nl"
+ __copyright__ = "Copyright 2006 Eric van Riet Paap"
+ __license__ = "MIT"
+
+ def __init__(self, *args, **kwargs):
+ parser = optparse.OptionParser(usage="""
+%prog [options] <command>
+
+Available commands:
+ module <function names> Translate RPython functions in a module to Javascript
+""", version="%prog " + self.__version__)
+ self.parser = parser
+
+ def run(self):
+ (options, args) = self.parser.parse_args()
+ if not args:
+ self.parser.error("No command specified")
+ #self.options = options
+ #command, args = args[0], args[1:]
+ #print 'JsCommand:', command, args
+ rpython2javascript_main(args)
+
+def main():
+ tool = JsCommand()
+ tool.run()
+
+if __name__ == '__main__':
+ main()
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 Sat Aug 26 23:29:50 2006
@@ -30,11 +30,16 @@
packages=find_packages(),
package_data=find_package_data(
where='rpython2javascript', package='rpython2javascript',
- only_in_packages=False, exclude=('*.pyc', '*~', '.*', '*.bak')),
+ only_in_packages=False,
+ exclude='*.pyc *~ .* *.bak *.png *.gif *.jpg *.dot *.pdf *.txt *.html *.log *.graffle *.dump *.rdf *.ttf'.split()),
entry_points="""
+ [turbogears.command]
+ js = rpython2javascript.pypy.translator.js.turbogears.commandjs:JsCommand
+
[python.templating.engines]
- asjavascript = rpython2javascript.pypy.translator.js.turbogears.templateplugin:TemplatePlugin""",
+ asjavascript = rpython2javascript.pypy.translator.js.turbogears.templateplugin:TemplatePlugin
+ """,
#keywords = [
# # Use keywords if you'll be adding your package to the
Modified: pypy/dist/pypy/translator/js/turbogears/templateplugin.py
==============================================================================
--- pypy/dist/pypy/translator/js/turbogears/templateplugin.py (original)
+++ pypy/dist/pypy/translator/js/turbogears/templateplugin.py Sat Aug 26 23:29:50 2006
@@ -1,5 +1,5 @@
import cherrypy
-from rpython2javascript import rpython2javascript
+from rpython2javascript.pypy.translator.js.main import rpython2javascript
class TemplatePlugin:
More information about the Pypy-commit
mailing list