aboutsummaryrefslogtreecommitdiff
path: root/operationscore
diff options
context:
space:
mode:
authorGravatar rcoh <rcoh@mit.edu>2011-02-05 22:34:34 -0500
committerGravatar rcoh <rcoh@mit.edu>2011-02-05 22:34:34 -0500
commit06c639db6b98affab4abf07e57a90e2fcb5402ef (patch)
tree3dad66f7c131272cafad5304327cec0d3cf5bd62 /operationscore
parent9b134eb47a93c2317519c07dc5a3c3522c9fa2f4 (diff)
Early stages of param-binding in xml. Functional. RCOH
Diffstat (limited to 'operationscore')
-rw-r--r--operationscore/SmootCoreObject.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/operationscore/SmootCoreObject.py b/operationscore/SmootCoreObject.py
index 0d32773..51b84e3 100644
--- a/operationscore/SmootCoreObject.py
+++ b/operationscore/SmootCoreObject.py
@@ -2,6 +2,7 @@ import pdb
import threading
import thread
import util.Config as configGetter
+import types
class SmootCoreObject(object):
"""SmootCoreObject is essentially a super-object class which grants us some niceties. It allows
@@ -34,9 +35,13 @@ class SmootCoreObject(object):
def __setitem__(self,k, item):
self.argDict[k] = item
- def __getitem__(self, item):
- if item in self.argDict:
- return self.argDict[item]
+ def __getitem__(self, key):
+ if key in self.argDict:
+ item = self.argDict[key]
+ if isinstance(item, types.FunctionType):
+ return item(self.argDict) #resolve the lambda function, if it exists
+ else:
+ return item
else:
return None
def __contains__(self, item):