Tim Peters wrote at 2005-11-18 10:02 -0500: >[Margie Watkins CONT] >> The issue http://www.zope.org/Collectors/Zope/1695 asks for a statement >> from users who are affected by the missing modules. > >Unfortunately, that's become "out of sight, out of mind" since then -- the >issue was opened 9 months ago, and to date you're the first to say you >really need this (if you read through all the referenced threads, you'll see >that everyone else who thought they _might_ need it eventually discovered >that they did not).
It is no problem as long as you migrate while you are still using a Zope 2.7 (ZODB 3.2) release. We added automatic migration code to our old "BTree/Intset" using code. But we may need an explicit conversion before we finally upgrade to Zope 2.8 -- to get very rarely used objects upgraded as well. > ... >I'm not sure to what that refers, but not sure it matters either. There are >four threads referenced in the bug report, and AFAICT none of them claim to >present a migration method for "old" BTrees or intSets. The migration is trivial as long as "BTree" and "Intset" are still available. We use for example the following "BTree" migration. # backward (pre Zope 2.8) compatibility try: from BTree import BTree as _BTreeOld # DM 2005-08-25: for unknown reasons, this can raise an "AttributeError" # rather than an "ImportError" #except ImportError: _BTreeOld = None except (ImportError, AttributeError): _BTreeOld = None from BTrees.OOBTree import OOBTree as BTree ... tree = self._tree if _BTreeOld is not None and isinstance(tree, _BTreeOld): # still an oldy -- upgrade to modern structure self._tree = BTree(tree) msg = 'BTree upgraded' else: msg = 'BTree was already modern' -- Dieter _______________________________________________ For more information about ZODB, see the ZODB Wiki: http://www.zope.org/Wikis/ZODB/ ZODB-Dev mailing list - ZODB-Dev@zope.org http://mail.zope.org/mailman/listinfo/zodb-dev