[Top][All Lists]
[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]
# =============================================================================
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r6892 - in trunk/gnue-common/src/logic: . adapters,
jan <=