[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6692 - in trunk/gnue-common/src/datasources: . drivers/Base
From: |
reinhard |
Subject: |
r6692 - in trunk/gnue-common/src/datasources: . drivers/Base |
Date: |
Wed, 17 Nov 2004 16:39:33 -0600 (CST) |
Author: reinhard
Date: 2004-11-17 16:39:32 -0600 (Wed, 17 Nov 2004)
New Revision: 6692
Modified:
trunk/gnue-common/src/datasources/GDataSource.py
trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
Log:
Added method to jump to a record given by key/value pair(s).
Modified: trunk/gnue-common/src/datasources/GDataSource.py
===================================================================
--- trunk/gnue-common/src/datasources/GDataSource.py 2004-11-17 22:13:16 UTC
(rev 6691)
+++ trunk/gnue-common/src/datasources/GDataSource.py 2004-11-17 22:39:32 UTC
(rev 6692)
@@ -402,6 +402,11 @@
if not self.hasMaster() and self.prequery:
self.createResultSet()
+
+ # Find a specific record in the resultset by field values
+ def findRecord(self, fieldValues):
+ self._currentResultSet.findRecord(fieldValues)
+
#
# Hooks for record-level triggers
#
Modified: trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py
===================================================================
--- trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2004-11-17
22:13:16 UTC (rev 6691)
+++ trunk/gnue-common/src/datasources/drivers/Base/ResultSet.py 2004-11-17
22:39:32 UTC (rev 6692)
@@ -223,6 +223,27 @@
return self.current
# ---------------------------------------------------------------------------
+ # Find a record by field values
+ # ---------------------------------------------------------------------------
+
+ def findRecord (self, fieldValues):
+ """
+ This function searches through the already loaded records and sets the
+ current record to the first record to match the given fieldValues
+ dictionary (in the form {fieldname: value}).
+ """
+ for i in range (len (self._cachedRecords)):
+ record = self._cachedRecords [i]
+ found = True
+ for (key, value) in fieldValues.items ():
+ if record [key] != value:
+ found = False
+ continue
+ if found:
+ self.__move (i)
+ return self.current
+
+ # ---------------------------------------------------------------------------
# Close the result set
# ---------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6692 - in trunk/gnue-common/src/datasources: . drivers/Base,
reinhard <=