############################################################################# # # Copyright (c) 2007 Zope Foundation and Contributors. # All Rights Reserved. # # This software is subject to the provisions of the Zope Public License, # Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS # FOR A PARTICULAR PURPOSE. # ############################################################################# import zope.interface import BTrees.Interfaces @zope.interface.implementer(BTrees.Interfaces.IBTreeFamily) class _Family(object): from BTrees import OOBTree as OO class _Family32(_Family): from BTrees import OIBTree as OI from BTrees import IIBTree as II from BTrees import IOBTree as IO from BTrees import IFBTree as IF maxint = int(2**31-1) minint = -maxint - 1 def __reduce__(self): return _family32, () class _Family64(_Family): from BTrees import OLBTree as OI from BTrees import LLBTree as II from BTrees import LOBTree as IO from BTrees import LFBTree as IF maxint = 2**63-1 minint = -maxint - 1 def __reduce__(self): return _family64, () def _family32(): return family32 _family32.__safe_for_unpickling__ = True def _family64(): return family64 _family64.__safe_for_unpickling__ = True family32 = _Family32() family64 = _Family64() BTrees.family64.IO.family = family64 BTrees.family64.OI.family = family64 BTrees.family64.IF.family = family64 BTrees.family64.II.family = family64 BTrees.family32.IO.family = family32 BTrees.family32.OI.family = family32 BTrees.family32.IF.family = family32 BTrees.family32.II.family = family32