commit-gnue
[Top][All Lists]
Advanced

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

[gnue] r8462 - trunk/gnue-appserver/src


From: reinhard
Subject: [gnue] r8462 - trunk/gnue-appserver/src
Date: Mon, 15 May 2006 06:37:04 -0500 (CDT)

Author: reinhard
Date: 2006-05-15 06:37:04 -0500 (Mon, 15 May 2006)
New Revision: 8462

Modified:
   trunk/gnue-appserver/src/geasList.py
Log:
Switched to using iterator support of data.py


Modified: trunk/gnue-appserver/src/geasList.py
===================================================================
--- trunk/gnue-appserver/src/geasList.py        2006-05-15 09:07:49 UTC (rev 
8461)
+++ trunk/gnue-appserver/src/geasList.py        2006-05-15 11:37:04 UTC (rev 
8462)
@@ -44,6 +44,7 @@
     self.__classdef   = classdef
     self.__connection = connection
     self.__recordset  = recordset
+    self.__generator  = recordset.__iter__()
     self.__prefetch   = propertylist      # property names to be prefetched
     self.__condition  = condition
     self.__instances  = []
@@ -164,23 +165,24 @@
     to the list's condition. This instance will be returned as function result.
     """
 
-    record = self.__recordset.nextRecord ()
+    while True:
+      try:
+        record = self.__generator.next ()
+      except StopIteration:
+        # No more records
+        self.__isComplete = True
+        self.__length = len (self.__instances)
+        self.__recordset.close ()
+        self.__recordset = None
+        return None
 
-    while record is not None:
+      # Found a record - check condition
       instance = geasInstance.geasInstance (self.__session, self.__connection,
                                             record, self.__classdef)
       if self.__condition is None or self.__condition.evaluate (instance):
         return instance
-      record = self.__recordset.nextRecord ()
 
-    # No more records
-    self.__isComplete = True
-    self.__length = len (self.__instances)
-    self.__recordset.close ()
-    self.__recordset = None
-    return None
 
-
   # ---------------------------------------------------------------------------
   # Get a grouping sequence for an instance
   # ---------------------------------------------------------------------------





reply via email to

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