parsing primary, sequence, and primitive settings from IDL
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 4 Jan 2008 14:01:02 +0000 (14:01 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 4 Jan 2008 14:01:02 +0000 (14:01 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@8312 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index 77d9788..b8fdc2e 100644 (file)
@@ -95,6 +95,11 @@ class oilsIDLParser(object):
         keys = []
         idlobj = self.IDLObject[cls]
 
+        idlobj['field_meta'] = {
+            'primary': self.__getAttr(fields, 'oils_persist:primary', OILS_NS_PERSIST),
+            'sequence': self.__getAttr(fields, 'oils_persist:sequence', OILS_NS_PERSIST)
+        }
+
         for field in fields.childNodes:
             if field.nodeType == field.ELEMENT_NODE:
                 keys.append(None)
@@ -113,9 +118,10 @@ class oilsIDLParser(object):
                     raise e
 
                 virtual = self.__getAttr(field, 'oils_persist:virtual', OILS_NS_PERSIST)
-                obj['rpt_label']    = self.__getAttr(field, 'reporter:label', OILS_NS_REPORTER)
-                obj['rpt_dtype']    = self.__getAttr(field, 'reporter:datatype', OILS_NS_REPORTER)
-                obj['rpt_select']   = self.__getAttr(field, 'reporter:selector', OILS_NS_REPORTER)
+                obj['rpt_label'] = self.__getAttr(field, 'reporter:label', OILS_NS_REPORTER)
+                obj['rpt_dtype'] = self.__getAttr(field, 'reporter:datatype', OILS_NS_REPORTER)
+                obj['rpt_select'] = self.__getAttr(field, 'reporter:selector', OILS_NS_REPORTER)
+                obj['primitive'] = self.__getAttr(field, 'oils_persist:primitive', OILS_NS_PERSIST)
 
                 if virtual == string.lower('true'):
                     obj['virtual']  = True