commit-gnue
[Top][All Lists]
Advanced

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

r6193 - trunk/gnue-appserver/src/gld


From: johannes
Subject: r6193 - trunk/gnue-appserver/src/gld
Date: Mon, 16 Aug 2004 07:35:23 -0500 (CDT)

Author: johannes
Date: 2004-08-16 07:35:22 -0500 (Mon, 16 Aug 2004)
New Revision: 6193

Modified:
   trunk/gnue-appserver/src/gld/GLParser.py
   trunk/gnue-appserver/src/gld/readgld.py
Log:
Added proper exception classes


Modified: trunk/gnue-appserver/src/gld/GLParser.py
===================================================================
--- trunk/gnue-appserver/src/gld/GLParser.py    2004-08-16 09:05:14 UTC (rev 
6192)
+++ trunk/gnue-appserver/src/gld/GLParser.py    2004-08-16 12:35:22 UTC (rev 
6193)
@@ -19,7 +19,7 @@
 # write to the Free Software Foundation, Inc., 59 Temple Place
 # - Suite 330, Boston, MA 02111-1307, USA.
 #
-# $Id: $
+# $Id$
 
 from gnue.common.definitions import GParser, GObjects, GRootObj
 from gnue.common.definitions.GParserHelpers import GContent

Modified: trunk/gnue-appserver/src/gld/readgld.py
===================================================================
--- trunk/gnue-appserver/src/gld/readgld.py     2004-08-16 09:05:14 UTC (rev 
6192)
+++ trunk/gnue-appserver/src/gld/readgld.py     2004-08-16 12:35:22 UTC (rev 
6193)
@@ -19,7 +19,7 @@
 # write to the Free Software Foundation, Inc., 59 Temple Place
 # - Suite 330, Boston, MA 02111-1307, USA.
 #
-# $Id: $
+# $Id$
 
 import sys
 import os
@@ -39,7 +39,25 @@
 class Error (gException):
   pass
 
+class ModuleNotFoundError (Error):
+  def __init__ (self, module):
+    msg = u_("Module '%s' not found in class repository.") % module
+    Error.__init__ (self, msg)
 
+class ClassNotFoundError (Error):
+  def __init__ (self, module, classname):
+    name = "%s_%s" % (module, classname)
+    msg = u_("Class '%s' not found in class repository") % name
+    Error.__init__ (self, msg)
+
+class ProcedureNotFoundError (Error):
+  def __init__ (self, pName, classname):
+    msg = u_("Class '%(classname)s' has no procedure '%(procedure)s'") \
+          % {'classname': classname,
+             'procedure': pName}
+    Error.__init__ (self, msg)
+
+
 # =============================================================================
 #
 # =============================================================================
@@ -191,6 +209,10 @@
         finally:
           self._files [item].close ()
 
+    except Error, err:
+      print o(u_("Error: %s") % sys.exc_info () [1])
+      sys.exit (1)
+
     except Exception:
       raise
 
@@ -280,7 +302,7 @@
         pDef ['gnue_id']  = self.__findProperty (pDef)
         pDef ['relation'] = 'gnue_property'
       else:
-        pDef ['gnue_id'] = self.__findProcedure (pDef)
+        pDef ['gnue_id'] = self.__findProcedure (pDef, sObject._parent)
         pDef ['relation'] = 'gnue_procedure'
       
       defs ['properties'].append (pDef)
@@ -335,13 +357,13 @@
   # Find a procedure by name, module- and class-id
   # ---------------------------------------------------------------------------
 
-  def __findProcedure (self, pDef):
+  def __findProcedure (self, pDef, parent):
     mc = GConditions.buildConditionFromDict ({'gnue_module': pDef ['module'],
                                               'gnue_class': pDef ['class'],
                                               'gnue_name': pDef ['name']})
     rs = self._dtsProcedure.createResultSet (mc)
     if rs.firstRecord () is None:
-      raise ProcedureNotFoundError, (pDef ['name'])
+      raise ProcedureNotFoundError, (pDef ['name'], parent.fullName)
     return rs.current.getField ('gnue_id')
 
 





reply via email to

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