BTree folder with the option to keep an ordering in the items
- Remove dependency on Globals (Zope 4 forward compatibility).
- Fix moveObjectsByDelta() to be usable with unicode ids.
- getObjectPosition() now raises a LookupError if object is not found.
- Move source code to new directory ‘src’.
- Update bootstrap.py, so it accepts a pinned version of setuptools.
- Use py.test as the one and only testrunner.
- Updated package to use Products.BTreeFolder2 >= 2.13.3, so most compatibility code added in version 1.2.1 could be removed, thus requiring at least Products.BTreeFolder2 version 2.13.3.
- Removed not needed dependency on Products.CMFCore.
- Methods objectItems, objectValues, keys, values and items returned values unordered when package was used together with Products.BTreeFolder2 >= 2.13.
- Updated to run on Zope 2.12+, thus requiring at least this version.
- Initial packaging as an egg.
- Code cleanup.
This btree folder class implements the OrderSupport interface from the core Zope2.7+ distribution. It is a subclass of the BTreeFolder2 product from Shane Hathaway. The BTreeFolder2 product needs to be installed alongside this product.
This folder has the advantages of a normal BTreefolder. Object listing and access to single objects, does not load unused objects into memory.
With the ordering support one can use this folder as a base class for other more application oriented containers.
Every OBTreeFolder has the property insertmodus which defines where in the ordering new objects should be added. Default is at the beginning of the ordered list.
This product is licensed under the GPL, read LICENSE.GPL for more info.
Thanks to Helge Tesdal for a nice optimization hint.