commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r6899 - trunk/gnue-common/src/definitions


From: jcater
Subject: [gnue] r6899 - trunk/gnue-common/src/definitions
Date: Thu, 13 Jan 2005 21:12:11 -0600 (CST)

Author: jcater
Date: 2005-01-13 21:12:10 -0600 (Thu, 13 Jan 2005)
New Revision: 6899

Modified:
   trunk/gnue-common/src/definitions/GParser.py
Log:
added better checks for faulty code

Modified: trunk/gnue-common/src/definitions/GParser.py
===================================================================
--- trunk/gnue-common/src/definitions/GParser.py        2005-01-14 03:10:39 UTC 
(rev 6898)
+++ trunk/gnue-common/src/definitions/GParser.py        2005-01-14 03:12:10 UTC 
(rev 6899)
@@ -84,7 +84,7 @@
 #######################################################
 
 def loadXMLObject(stream, handler, rootType, xmlFileType,
-  initialize=1, attributes={}, initParameters={}):
+  initialize=True, attributes={}, initParameters={}):
 
   # Create a parser
   parser = xml.sax.make_parser()
@@ -328,20 +328,25 @@
 
 
       for attr in baseAttrs.keys():
-        if not attrs.has_key(attr):
+        try:
+          if not attrs.has_key(attr):
+  
+            # Pull default values for missing attributes
+            if baseAttrs[attr].has_key ('Default'):
+              attrs[attr] = baseAttrs[attr].get('Typecast', GTypecast.text) 
(baseAttrs[attr]['Default'])
+  
+            # Check for missing required attributes
+            elif baseAttrs[attr].get('Required', False): 
+              tmsg = u_('Error processing <%(tagname)s> tag [required 
attribute '
+                        '"%(attribute)s" not present]') \
+                    % {'tagname'  : name,
+                        'attribute': attr}
+              raise MarkupError, tmsg
+        except (AttributeError, KeyError), msg: 
+          raise errors.SystemError, _( 
+            'Error in GParser xmlElement definition for %s/%s'
+                ) % (name, attr) + '\n' + str(msg)
 
-          # Pull default values for missing attributes
-          if baseAttrs[attr].has_key ('Default'):
-            attrs[attr] = baseAttrs[attr].get('Typecast', GTypecast.text) 
(baseAttrs[attr]['Default'])# default(baseAttrs[attr],'Typecast', 
GTypecast.text) (baseAttrs[attr]['Default'])
-
-          # Check for missing required attributes
-          elif baseAttrs[attr].get('Required', 0): #default(baseAttrs[attr], 
'Required', 0):
-            tmsg = u_('Error processing <%(tagname)s> tag [required attribute '
-                      '"%(attribute)s" not present]') \
-                   % {'tagname'  : name,
-                      'attribute': attr}
-            raise MarkupError, tmsg
-
       attrs['_xmlnamespaces'] = xmlns
 
       if self.bootstrapflag:





reply via email to

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