[pypy-svn] r30384 - in pypy/dist/pypy/translator/js: . demo demo/jsdemo test tools

fijal at codespeak.net fijal at codespeak.net
Sun Jul 23 11:25:05 CEST 2006


Author: fijal
Date: Sun Jul 23 11:24:35 2006
New Revision: 30384

Modified:
   pypy/dist/pypy/translator/js/database.py
   pypy/dist/pypy/translator/js/demo/dev.cfg
   pypy/dist/pypy/translator/js/demo/jsdemo/consserv.py
   pypy/dist/pypy/translator/js/jts.py
   pypy/dist/pypy/translator/js/test/runtest.py
   pypy/dist/pypy/translator/js/test/test_bltn.py
   pypy/dist/pypy/translator/js/tools/console.py
Log:
Fixed small glitches, added decorator support, simple string builder constant etc.


Modified: pypy/dist/pypy/translator/js/database.py
==============================================================================
--- pypy/dist/pypy/translator/js/database.py	(original)
+++ pypy/dist/pypy/translator/js/database.py	Sun Jul 23 11:24:35 2006
@@ -17,7 +17,7 @@
 from pypy.rpython.ootypesystem import bltregistry
 
 from pypy.objspace.flow.model import Variable, Constant
-from pypy.translator.js.modules import dom
+from pypy.translator.js.modules import _dom
 from pypy.translator.js.commproxy import XmlHttp
 
 try:
@@ -56,7 +56,7 @@
         return
 
     def is_primitive(self, type_):
-        if type_ in [Void, Bool, Float, Signed, Unsigned, SignedLongLong, UnsignedLongLong, Char, UniChar] or \
+        if type_ in [Void, Bool, Float, Signed, Unsigned, SignedLongLong, UnsignedLongLong, Char, UniChar, ootype.StringBuilder] or \
             isinstance(type_,ootype.StaticMethod):
             return True
         return False
@@ -353,8 +353,9 @@
     def init(self, ilasm):
         s = self.const._str
         # do some escaping
-        s = s.replace("\n", "\\n")
-        ilasm.load_str('"%s"'%s)
+        #s = s.replace("\n", "\\n").replace('"', '\"')
+        #s = repr(s).replace("\"", "\\\"")
+        ilasm.load_str("%s" % repr(s))
     
     def init_fields(self, ilasm, const_var, name):
         pass

Modified: pypy/dist/pypy/translator/js/demo/dev.cfg
==============================================================================
--- pypy/dist/pypy/translator/js/demo/dev.cfg	(original)
+++ pypy/dist/pypy/translator/js/demo/dev.cfg	Sun Jul 23 11:24:35 2006
@@ -31,7 +31,7 @@
 # Disable the debug output at the end on pages.
 # logDebugInfoFilter.on = False
 server.logFile="server.log"
-server.logToScreen=True
+server.logToScreen=False
 
 server.environment="production" #"development"
 #server.environment="development"

Modified: pypy/dist/pypy/translator/js/demo/jsdemo/consserv.py
==============================================================================
--- pypy/dist/pypy/translator/js/demo/jsdemo/consserv.py	(original)
+++ pypy/dist/pypy/translator/js/demo/jsdemo/consserv.py	Sun Jul 23 11:24:35 2006
@@ -4,7 +4,7 @@
 
 import turbogears
 import cherrypy
-from pypy.rpython.ootypesystem.bltregistry import BasicExternal, MethodDesc
+from pypy.rpython.ootypesystem.bltregistry import BasicExternal, MethodDesc, described
 from pypy.translator.js.demo.jsdemo.controllers import Root
 from cherrypy import session
 
@@ -36,6 +36,7 @@
         return dict(now=time.ctime(), onload=self.jsname, code=self.jssource)
 
     @turbogears.expose(format="json")
+    @described(retval={'aa':'aa'})
     def run_command(self, str_to_eval):
         # we need what has changed
         # we try to run it...

Modified: pypy/dist/pypy/translator/js/jts.py
==============================================================================
--- pypy/dist/pypy/translator/js/jts.py	(original)
+++ pypy/dist/pypy/translator/js/jts.py	Sun Jul 23 11:24:35 2006
@@ -48,6 +48,8 @@
             return "Object"
         elif isinstance(t, ootype.DictItemsIterator):
             return "Object"
+        elif t is ootype.StringBuilder:
+            return '"dupa"'
         #return "var"
         raise NotImplementedError("Type %r" % (t,))
     

Modified: pypy/dist/pypy/translator/js/test/runtest.py
==============================================================================
--- pypy/dist/pypy/translator/js/test/runtest.py	(original)
+++ pypy/dist/pypy/translator/js/test/runtest.py	Sun Jul 23 11:24:35 2006
@@ -166,3 +166,9 @@
 
     def read_attr(self, obj, name):
         py.test.skip('read_attr not supported on gencli tests')
+
+def check_source_contains(compiled_function, pattern):
+    import re
+    
+    source = compiled_function.js.tmpfile.open().read()
+    return re.search(pattern, source)

Modified: pypy/dist/pypy/translator/js/test/test_bltn.py
==============================================================================
--- pypy/dist/pypy/translator/js/test/test_bltn.py	(original)
+++ pypy/dist/pypy/translator/js/test/test_bltn.py	Sun Jul 23 11:24:35 2006
@@ -4,13 +4,7 @@
 import py
 
 from pypy.rpython.ootypesystem.bltregistry import BasicExternal, MethodDesc
-from pypy.translator.js.test.runtest import compile_function
-
-def check_source_contains(compiled_function, pattern):
-    import re
-    
-    source = compiled_function.js.tmpfile.open().read()
-    return re.search(pattern, source)
+from pypy.translator.js.test.runtest import compile_function, check_source_contains
 
 # check rendering _dom.get_document()
 def test_simple_builtin():

Modified: pypy/dist/pypy/translator/js/tools/console.py
==============================================================================
--- pypy/dist/pypy/translator/js/tools/console.py	(original)
+++ pypy/dist/pypy/translator/js/tools/console.py	Sun Jul 23 11:24:35 2006
@@ -19,103 +19,6 @@
 
 from pypy.translator.js.demo.jsdemo.consserv import ConsoleRootInstance, ConsoleRoot
 from pypy.rpython.rjs import jseval
-#def onchange_callback(data):
-#    get_document().getElementById("text").value = data['data']
-##
-##def command_run(data):
-##    #logDebug(data['retval'])
-##    #logDebug(data['data'])
-##    for i in data['retval'].split("\n"):
-##        #logDebug(i)
-##        console.add_line(i)
-##    if data['source']:
-##        jseval(data['source'] + "\nf()")
-##        #console.add_line(data['retval'].replace("\n", "<br>"))
-##    console.go = False
-##    console.add_line(">>> ")
-##
-##class Console(object):
-##    def __init__(self):
-##        self.to_run = ""
-##        self.shift = False
-##        self.go = False
-##    
-##    def add_line(self, text):
-##        self.data_field.innerHTML += "<br>" + text
-##    
-##    def onload(self, df):
-##        self.data_field = df
-##        df.innerHTML = ""
-##        self.add_line("This is some console")
-##        self.add_line(">>> ")
-##    
-##    def history_up(self):
-##        pass
-##    
-##    def history_down(self):
-##        pass
-##    
-##    def backspace(self):
-##        # FIXME: terribly inneficient
-##        #if self.data_field.innerHTML.endswith("&nbsp;"):
-##        #    self.data_field.innerHTML = self.data_field.innerHTML[:-5]
-##        # seems to be pypy bug, so you cannot delete spaces
-##        #else:
-##        self.data_field.innerHTML = self.data_field.innerHTML[:-1]
-##        self.to_run = self.to_run[:-1]
-##    
-##    def run(self):
-##        if self.go:
-##            self.add_line(">>> ")
-##            ConsoleRootInstance.run_command(self.to_run, command_run)
-##            self.to_run = ""
-##        else:
-##            self.add_line("... ")
-##            self.to_run += "<br>"
-##            self.go = True
-##    
-##    def add_space(self):
-##        self.data_field.innerHTML += "&nbsp;"
-##        self.to_run += " "
-##        self.go = False
-##    
-##    def add_key(self, char):
-##        #if self.shift:
-##        #    char = chr(kc)
-##        #else:
-##        #    char = chr(kc + 32)
-##        self.data_field.innerHTML += char
-##        self.to_run += char
-##        self.go = False
-##    
-##    def shift_up(self):
-##        self.shift = False
-##    
-##    def shift_down(self):
-##        self.shift = True
-
-##console = Console()
-##
-##def onchange(key):
-##    kc = key.keyCode
-##    if kc == 38: # up key
-##        console.history_up()
-##    elif kc == 40: # down key
-##        console.history_down()
-##    elif kc == 13: # return
-##        console.run()
-##    elif kc == 8: # backspace
-##        console.backspace()
-##    elif chr(key.charCode) == " ":
-##        console.add_space()
-##    else:
-##        console.add_key(chr(key.charCode))
-##    logDebug(chr(key.charCode))
-##    log(str(key.keyCode))
-##    #data_field = get_document().getElementById("data")
-##    #data_field.innerHTML = chr(key.keyCode)
-##    #logDebug(str(conn.childNodes[1].value))
-##    #ConsoleRootInstance.run_command(data_field.innerHTML, comeback)
 
 class Console(object):
     def __init__(self):



More information about the Pypy-commit mailing list