Enable subscripted access to attributes (requirement for Python 2.4 support, perhaps?)
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 6 Jan 2008 19:11:38 +0000 (19:11 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 6 Jan 2008 19:11:38 +0000 (19:11 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/acq-experiment@8329 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/python/oils/utils/idl.py

index ddba70c..4bfeef9 100644 (file)
@@ -159,6 +159,14 @@ class IDLClass(object):
         else:
             self.virtual = False
 
+    def __getitem__(self, member):
+        """
+        Returns the requested member using dictionary syntax.
+        """
+        if hasattr(self, member):
+            exec("result = self.%s" % member)
+            return result
+
     def get_field(self, field_name):
         try:
             return [f for f in self.fields if f.name == field_name][0]
@@ -186,6 +194,13 @@ class IDLField(object):
         else:
             self.virtual = False
 
+    def __getitem__(self, member):
+        """
+        Returns the requested member using dictionary syntax.
+        """
+        if hasattr(self, member):
+            exec("result = self.%s" % member)
+            return result
 
 class IDLLink(object):
     def __init__(self, field, **kwargs):