Log message for revision 38477:
        - Collector #1899: fixed migration issue when using export/import for
          ZCatalog instances
  

Changed:
  U   Zope/branches/Zope-2_8-branch/doc/CHANGES.txt
  U   
Zope/branches/Zope-2_8-branch/lib/python/Products/PluginIndexes/common/UnIndex.py

-=-
Modified: Zope/branches/Zope-2_8-branch/doc/CHANGES.txt
===================================================================
--- Zope/branches/Zope-2_8-branch/doc/CHANGES.txt       2005-09-15 00:43:59 UTC 
(rev 38476)
+++ Zope/branches/Zope-2_8-branch/doc/CHANGES.txt       2005-09-15 06:11:40 UTC 
(rev 38477)
@@ -26,6 +26,9 @@
 
     Bugs Fixed
 
+      - Collector #1899: fixed migration issue when using export/import for
+        ZCatalog instances
+
       - 'ZPublisher.Test.publish' now takes a 'done_string' argument, which
         is written to standard error when the request completes (forward
         ported from Zope 2.7 branch).

Modified: 
Zope/branches/Zope-2_8-branch/lib/python/Products/PluginIndexes/common/UnIndex.py
===================================================================
--- 
Zope/branches/Zope-2_8-branch/lib/python/Products/PluginIndexes/common/UnIndex.py
   2005-09-15 00:43:59 UTC (rev 38476)
+++ 
Zope/branches/Zope-2_8-branch/lib/python/Products/PluginIndexes/common/UnIndex.py
   2005-09-15 06:11:40 UTC (rev 38477)
@@ -175,7 +175,15 @@
 
             except AttributeError:
                 # index row is an int
-                del self._index[entry]
+                try:
+                    del self._index[entry]
+                except KeyError:
+                    # XXX swallow KeyError because it was probably
+                    # removed and then _length AttributeError raised
+                    pass 
+                if isinstance(self.__len__, BTrees.Length.Length):
+                    self._length = self.__len__
+                    del self.__len__ 
                 self._length.change(-1)
 
             except:
@@ -202,7 +210,14 @@
         # an IntSet and stuff it in first.
         if indexRow is _marker:
             self._index[entry] = documentId
-            self._length.change(1)
+            # XXX _length needs to be migrated to Length object
+            try:
+                self._length.change(1)
+            except AttributeError:
+                if isinstance(self.__len__, BTrees.Length.Length):
+                    self._length = self.__len__
+                    del self.__len__
+                self._length.change(1)
         else:
             try: indexRow.insert(documentId)
             except AttributeError:

_______________________________________________
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins

Reply via email to