SVN: ZODB/branches/jim-transform-wrapping/src/Z stop using StorageStopIteration

Jim Fulton <[email protected]>
Newsgroups gmane.comp.python.zope.zodb.cvs
Message-ID <[email protected]>
Log message for revision 112426:
  stop using StorageStopIteration

Changed:
  U   ZODB/branches/jim-transform-wrapping/src/ZEO/ClientStorage.py
  U   ZODB/branches/jim-transform-wrapping/src/ZODB/FileStorage/FileStorage.py
  U   ZODB/branches/jim-transform-wrapping/src/ZODB/tests/IteratorStorage.py
  U   ZODB/branches/jim-transform-wrapping/src/ZODB/tests/hexstorage.py

-=-
Modified: ZODB/branches/jim-transform-wrapping/src/ZEO/ClientStorage.py
===================================================================
--- ZODB/branches/jim-transform-wrapping/src/ZEO/ClientStorage.py	2010-05-17 18:23:26 UTC (rev 112425)
+++ ZODB/branches/jim-transform-wrapping/src/ZEO/ClientStorage.py	2010-05-17 19:19:42 UTC (rev 112426)
@@ -1530,7 +1530,7 @@
 
     def next(self):
         if self._ended:
-            raise ZODB.interfaces.StorageStopIteration()
+            raise StopIteration()
 
         if self._iid < 0:
             raise ClientDisconnected("Disconnected iterator")
@@ -1541,7 +1541,7 @@
             # disposed it.
             self._ended = True
             self._storage._forget_iterator(self._iid)
-            raise ZODB.interfaces.StorageStopIteration()
+            raise StopIteration()
 
         return ClientStorageTransactionInformation(
             self._storage, self, *tx_data)
@@ -1582,13 +1582,13 @@
         if self._completed:
             # We finished iteration once already and the server can't know
             # about the iteration anymore.
-            raise ZODB.interfaces.StorageStopIteration()
+            raise StopIteration()
         item = self._storage._server.iterator_record_next(self._riid)
         if item is None:
             # The iterator is exhausted, and the server has already
             # disposed it.
             self._completed = True
-            raise ZODB.interfaces.StorageStopIteration()
+            raise StopIteration()
         return ZODB.BaseStorage.DataRecord(*item)
 
 

Modified: ZODB/branches/jim-transform-wrapping/src/ZODB/FileStorage/FileStorage.py
===================================================================
--- ZODB/branches/jim-transform-wrapping/src/ZODB/FileStorage/FileStorage.py	2010-05-17 18:23:26 UTC (rev 112425)
+++ ZODB/branches/jim-transform-wrapping/src/ZODB/FileStorage/FileStorage.py	2010-05-17 19:19:42 UTC (rev 112426)
@@ -1763,7 +1763,7 @@
 
     def next(self):
         if self._file is None:
-            raise ZODB.interfaces.StorageStopIteration()
+            raise StopIteration()
 
         pos = self._pos
         while True:
@@ -1852,7 +1852,7 @@
             return result
 
         self.close()
-        raise ZODB.interfaces.StorageStopIteration()
+        raise StopIteration()
 
 
 class TransactionRecord(BaseStorage.TransactionRecord):
@@ -1911,7 +1911,7 @@
 
             return Record(h.oid, h.tid, data, prev_txn, pos)
 
-        raise ZODB.interfaces.StorageStopIteration()
+        raise StopIteration()
 
 
 class Record(BaseStorage.DataRecord):

Modified: ZODB/branches/jim-transform-wrapping/src/ZODB/tests/IteratorStorage.py
===================================================================
--- ZODB/branches/jim-transform-wrapping/src/ZODB/tests/IteratorStorage.py	2010-05-17 18:23:26 UTC (rev 112425)
+++ ZODB/branches/jim-transform-wrapping/src/ZODB/tests/IteratorStorage.py	2010-05-17 19:19:42 UTC (rev 112426)
@@ -229,13 +229,9 @@
             # meaning they were the same length.
             # Additionally, check that we're backwards compatible to the
             # IndexError we used to raise before.
-            self.assertRaises(IndexError, itxn1.next)
-            self.assertRaises(IndexError, itxn2.next)
             self.assertRaises(StopIteration, itxn1.next)
             self.assertRaises(StopIteration, itxn2.next)
         # Make sure ther are no more records left in txn1 and txn2, meaning
         # they were the same length
-        self.assertRaises(IndexError, iter1.next)
-        self.assertRaises(IndexError, iter2.next)
         self.assertRaises(StopIteration, iter1.next)
         self.assertRaises(StopIteration, iter2.next)

Modified: ZODB/branches/jim-transform-wrapping/src/ZODB/tests/hexstorage.py
===================================================================
--- ZODB/branches/jim-transform-wrapping/src/ZODB/tests/hexstorage.py	2010-05-17 18:23:26 UTC (rev 112425)
+++ ZODB/branches/jim-transform-wrapping/src/ZODB/tests/hexstorage.py	2010-05-17 19:19:42 UTC (rev 112426)
@@ -15,21 +15,6 @@
 import ZODB.interfaces
 import zope.interface
 
-class MadIterator(object):
-
-    def __init__(self, it):
-        self.it = it
-
-    def __iter__(self):
-        return self
-
-    def next(self):
-        try:
-            return self.it.next()
-        except StopIteration:
-            raise ZODB.interfaces.StorageStopIteration()
-
-
 class HexStorage(object):
 
     zope.interface.implements(ZODB.interfaces.IStorageWrapper)
@@ -100,7 +85,7 @@
             for t in self.base.iterator(start, stop):
                 yield Transaction(self, t)
 
-        return MadIterator(it(start, stop))
+        return it(start, stop)
 
 
     def storeBlob(self, oid, oldserial, data, blobfilename, version,
@@ -154,14 +139,11 @@
         self.__trans = trans
 
     def __iter__(self):
-        def it(self):
-            for r in self.__trans:
-                if r.data:
-                    r.data = self.__store.untransform_record_data(r.data)
-                yield r
+        for r in self.__trans:
+            if r.data:
+                r.data = self.__store.untransform_record_data(r.data)
+            yield r
 
-        return MadIterator(it(self))
-
     def __getattr__(self, name):
         return getattr(self.__trans, name)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.