commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r6892 - in trunk/gnue-common/src/logic: . adapters


From: jan
Subject: [gnue] r6892 - in trunk/gnue-common/src/logic: . adapters
Date: Tue, 11 Jan 2005 14:19:33 -0600 (CST)

Author: jan
Date: 2005-01-11 14:19:32 -0600 (Tue, 11 Jan 2005)
New Revision: 6892

Modified:
   trunk/gnue-common/src/logic/adapters/ecmascript.py
   trunk/gnue-common/src/logic/language.py
Log:
Fix ECMAscript adapter


Modified: trunk/gnue-common/src/logic/adapters/ecmascript.py
===================================================================
--- trunk/gnue-common/src/logic/adapters/ecmascript.py  2005-01-11 19:07:51 UTC 
(rev 6891)
+++ trunk/gnue-common/src/logic/adapters/ecmascript.py  2005-01-11 20:19:32 UTC 
(rev 6892)
@@ -32,7 +32,7 @@
 import string
 
 from gnue.common.apps import GDebug
-from gnue.common.logic.language import Base
+from gnue.common.logic.adapters import Base
 from gnue.common.logic.NamespaceCore import NamespaceElement
 
 try:
@@ -42,14 +42,14 @@
   print 'You can get it from 
http://wwwsearch.sourceforge.net/python-spidermonkey/!'
   sys.exit(0)
 
-class LanguageEngine(Base.LanguageEngine):
+class LanguageAdapter(Base.BaseLanguageAdapter):
   def __init__(self):
     self._rt = Runtime()
     
   def createNewContext(self):
     return ExecutionContext(self._rt)
 
-class ExecutionContext(Base.ExecutionContext):
+class ExecutionContext(Base.BaseExecutionContext):
   def __init__(self, runtime):
     self._cx = runtime.new_context()
     self._cx.bind_class(NamespaceElement)
@@ -57,24 +57,29 @@
   # namespace creation (global namespace)
   #
   def bindObject (self, name, aObject, aClass = None):
-    if aClass != None:
+    if aClass != None and aClass != False:
       self._cx.bind_class (aClass)
     self._cx.bind_object (name, aObject)
 
-  def bindFunction(self, name, object):
+  def bindFunction(self, name, object, asGlobal = False):
+    # asGlobal isn't supported at the moment
     self._cx.bind_callable(name, object)
 
   # script / trigger /
-  def buildMethod(self, name, code, parameter={}):
-    return ECMAscriptMethod(self, name, code, parameter)
+  def buildMethod(self, name, code, parameters={}):
+    return ECMAscriptMethod(self, name, code, parameters)
 
     # script / trigger /
-  def buildFunction(self, name, code, parameter={}):
-    return ECMAscriptFunction(self, name, code, parameter)
+  def buildFunction(self, name, code, parameters={}):
+    return ECMAscriptFunction(self, name, code, parameters)
 
-class ECMAscriptMethod (Base.VirtualMethod):
-  def __init__(self, context, name, code, parameter):
-    Base.VirtualFunction.__init__(self, context, name, code, parameter)
+#class ECMAscriptMethod (Base.VirtualMethod):
+class ECMAscriptMethod (Base.VirtualFunction):  # a rename to fix it for the 
moment
+
+  def __init__(self, context, name, code, parameters):
+    Base.VirtualFunction.__init__(self, context, name, code, parameters)
+    # Take care of special names
+    self._name = string.replace(self._name,'-','_')
     self._cx=context._cx
     self.compile()
 
@@ -84,15 +89,15 @@
     # build parameter list
     param = ''
     delim =''
-    for key in self._parameter.keys():
-      value = self._parameter[key]
+    for key in self._parameters.keys():
+      value = self._parameters[key]
       param = param + delim + key
       if value==None:
         param = ',%s=%s' % (param, value)
       delim = ','
 
     # build code
-    self._realcode = '%s = function (%s) {%s};' % (self._name, param,
+    self._realcode = '\n%s = function (%s) {%s};' % (self._name, param,
                                                    self._code);
     # name of helper function
     self._hname = '__%s' % string.replace(self._name,'.','_')
@@ -128,8 +133,10 @@
     pass
 
 class ECMAscriptFunction(Base.VirtualFunction):
-  def __init__(self, context, name, code, parameter):
-    Base.VirtualFunction.__init__(self, context, name, code, parameter)
+  def __init__(self, context, name, code, parameters):
+    Base.VirtualFunction.__init__(self, context, name, code, parameters)
+    # Take care of special names
+    self._name = string.replace(self._name,'-','_')
     self._cx=context._cx
     self.compile()
 
@@ -139,8 +146,8 @@
     # build parameter list
     param = ''
     delim =''
-    for key in self._parameter.keys():
-      value = self._parameter[key]
+    for key in self._parameters.keys():
+      value = self._parameters[key]
       param = param + delim + key
 #      if value==None or value == 'None':
 #        param = '%s=%s' % (param, value)

Modified: trunk/gnue-common/src/logic/language.py
===================================================================
--- trunk/gnue-common/src/logic/language.py     2005-01-11 19:07:51 UTC (rev 
6891)
+++ trunk/gnue-common/src/logic/language.py     2005-01-11 20:19:32 UTC (rev 
6892)
@@ -97,8 +97,8 @@
   imported.
   """
   global adapters
-  lang = language.lower ()
-
+  lang = str(language.lower ())
+  
   if not adapters.has_key (lang):
     try:
       adapter = dyn_import ('gnue.common.logic.adapters.%s' % lang)
@@ -107,7 +107,7 @@
     except ImportError:
       raise AdapterNotFoundError, language
 
-  return adapters [language]
+  return adapters [lang]
 
 
 # =============================================================================





reply via email to

[Prev in Thread] Current Thread [Next in Thread]