[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r5935 - trunk/gnue-appserver/src/gcd
From: |
johannes |
Subject: |
r5935 - trunk/gnue-appserver/src/gcd |
Date: |
Wed, 7 Jul 2004 17:14:15 -0500 (CDT) |
Author: johannes
Date: 2004-07-04 11:54:32 -0500 (Sun, 04 Jul 2004)
New Revision: 5935
Modified:
trunk/gnue-appserver/src/gcd/gcd2sql.py
Log:
Fixed (module-)key-error on extending classes
Modified: trunk/gnue-appserver/src/gcd/gcd2sql.py
===================================================================
--- trunk/gnue-appserver/src/gcd/gcd2sql.py 2004-07-02 16:08:12 UTC (rev
5934)
+++ trunk/gnue-appserver/src/gcd/gcd2sql.py 2004-07-04 16:54:32 UTC (rev
5935)
@@ -457,9 +457,10 @@
stat = [0, 0, 0] # inserted, updated, unchanged
for klass in self.classes.values ():
+ moduleId = self.__findModule (klass ['gnue_module'])
cond = GConditions.buildConditionFromDict ( \
{'gnue_name': klass ['gnue_name'],
- 'gnue_module': self.modules [klass ['gnue_module']]['gnue_id']})
+ 'gnue_module': moduleId})
resultSet = datasource.createResultSet (cond)
if resultSet.firstRecord () is None:
@@ -471,7 +472,7 @@
modifier = 1
# replace the module's name by it's gnue_id
- klass ['gnue_module'] = self.modules [klass ['gnue_module']] ['gnue_id']
+ klass ['gnue_module'] = moduleId
if not self.doUpdate (resultSet, klass):
modifier += 1
@@ -510,17 +511,8 @@
for prop in self.properties.values ():
# make sure we have a valid gnue_id for the referenced module
- if self.modules.has_key (prop ['gnue_module']):
- moduleId = self.modules [prop ['gnue_module']] ['gnue_id']
- else:
- mc = GConditions.buildConditionFromDict ( \
- {'gnue_name': prop ['gnue_module']})
- rs = self._dtsModules.createResultSet (mc)
- if rs.firstRecord () is None:
- raise ModuleNotFoundError, (prop ['gnue_module'])
- moduleId = rs.current.getField ('gnue_id')
+ moduleId = self.__findModule (prop ['gnue_module'])
-
cond = GConditions.buildConditionFromDict ( \
{'gnue_name' : prop ['gnue_name'],
'gnue_module': moduleId,
@@ -573,22 +565,9 @@
stat = [0, 0, 0] # inserted, updated, unchanged
for proc in self.procedures.values ():
-
- # make sure we have a valid gnue_id for the referenced module
- if self.modules.has_key (proc ['gnue_module']):
- moduleId = self.modules [proc ['gnue_module']] ['gnue_id']
- else:
- mc = GConditions.buildConditionFromDict ( \
- {'gnue_name': proc ['gnue_module']})
- rs = self._dtsModules.createResultSet (mc)
- if rs.firstRecord () is None:
- raise ModuleNotFoundError, (proc ['gnue_module'])
- moduleId = rs.current.getField ('gnue_id')
-
-
cond = GConditions.buildConditionFromDict ( \
{'gnue_name' : proc ['gnue_name'],
- 'gnue_module': moduleId,
+ 'gnue_module': self.__findModule (proc ['gnue_module']),
'gnue_class' : self.classes [proc ['gnue_class']] ['gnue_id']})
resultSet = self._dtsProcedure.createResultSet (cond)
@@ -702,6 +681,21 @@
# ---------------------------------------------------------------------------
+ # Find a module by name
+ # ---------------------------------------------------------------------------
+
+ def __findModule (self, module):
+ if self.modules.has_key (module):
+ return self.modules [module]['gnue_id']
+ else:
+ mc = GConditions.buildConditionFromDict ({'gnue_name': module})
+ rs = self._dtsModules.createResultSet (mc)
+ if rs.firstRecord () is None:
+ raise ModuleNotFoundError, (module)
+ return rs.current.getField ('gnue_id')
+
+
+ # ---------------------------------------------------------------------------
# Generate a new object id
# ---------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r5935 - trunk/gnue-appserver/src/gcd,
johannes <=