[Checkins] SVN: BTrees/branches/pure_python/ Unwind L[LFO]BTree modules.

Tres Seaver cvs-admin at zope.org
Fri Nov 9 06:36:27 UTC 2012


Log message for revision 128207:
  Unwind L[LFO]BTree modules.

Changed:
  _U  BTrees/branches/pure_python/
  U   BTrees/branches/pure_python/BTrees/LFBTree.py
  U   BTrees/branches/pure_python/BTrees/LLBTree.py
  U   BTrees/branches/pure_python/BTrees/LOBTree.py

-=-
Modified: BTrees/branches/pure_python/BTrees/LFBTree.py
===================================================================
--- BTrees/branches/pure_python/BTrees/LFBTree.py	2012-11-09 06:36:25 UTC (rev 128206)
+++ BTrees/branches/pure_python/BTrees/LFBTree.py	2012-11-09 06:36:26 UTC (rev 128207)
@@ -1,6 +1,6 @@
 ##############################################################################
 #
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
+# Copyright (c) 2001-2012 Zope Foundation and Contributors.
 # All Rights Reserved.
 #
 # This software is subject to the provisions of the Zope Public License,
@@ -12,13 +12,140 @@
 #
 ##############################################################################
 
-import zope.interface
-import BTrees.Interfaces
+__all__ = ('Bucket', 'Set', 'BTree', 'TreeSet',
+           'LFBucket', 'LFSet', 'LFBTree', 'LFTreeSet',
+           'union', 'intersection', 'difference',  
+           'weightedUnion', 'weightedIntersection', 'multiunion',
+          )
 
+from zope.interface import moduleProvides
+
+from BTrees.Interfaces import IIntegerFloatBTreeModule
+from BTrees.___BTree import Bucket
+from BTrees.___BTree import MERGE
+from BTrees.___BTree import MERGE_WEIGHT_numeric
+from BTrees.___BTree import MERGE_DEFAULT_float
+from BTrees.___BTree import Set
+from BTrees.___BTree import Tree as BTree
+from BTrees.___BTree import TreeSet
+from BTrees.___BTree import difference as _difference
+from BTrees.___BTree import intersection as _intersection
+from BTrees.___BTree import multiunion as _multiunion
+from BTrees.___BTree import setop as _setop
+from BTrees.___BTree import to_long as _to_key
+from BTrees.___BTree import to_float as _to_value
+from BTrees.___BTree import union as _union
+from BTrees.___BTree import weightedIntersection as _weightedIntersection
+from BTrees.___BTree import weightedUnion as _weightedUnion
+
+_BUCKET_SIZE = 120
+_TREE_SIZE = 500
+using64bits = True
+
+class LFBucketPy(Bucket):
+    MAX_SIZE = _BUCKET_SIZE
+    _to_key = _to_key
+    _to_value = _to_value
+    MERGE = MERGE
+    MERGE_WEIGHT = MERGE_WEIGHT_numeric
+    MERGE_DEFAULT = MERGE_DEFAULT_float
 try:
-    from _LFBTree import *
+    from _LFBTree import LFBucket
 except ImportError:
-    import ___BTree
-    ___BTree._import(globals(), 'LF', 120, 500)
+    LFBucket = LFBucketPy
+Bucket = LFBucket
 
-zope.interface.moduleProvides(BTrees.Interfaces.IIntegerFloatBTreeModule)
+
+class LFSetPy(Set):
+    MAX_SIZE = _BUCKET_SIZE
+    _to_key = _to_key
+    MERGE = MERGE
+    MERGE_WEIGHT = MERGE_WEIGHT_numeric
+    MERGE_DEFAULT = MERGE_DEFAULT_float
+try:
+    from _LFBTree import LFSet
+except ImportError:
+    LFSet = LFSetPy
+Set = LFSet
+
+
+class LFBTreePy(BTree):
+    MAX_SIZE = _TREE_SIZE
+    _to_key = _to_key
+    _to_value = _to_value
+    MERGE = MERGE
+    MERGE_WEIGHT = MERGE_WEIGHT_numeric
+    MERGE_DEFAULT = MERGE_DEFAULT_float
+try:
+    from _LFBTree import LFBTree
+except ImportError:
+    LFBTree = LFBTreePy
+BTree = LFBTree
+
+
+class LFTreeSetPy(TreeSet):
+    MAX_SIZE = _TREE_SIZE
+    _to_key = _to_key
+    MERGE = MERGE
+    MERGE_WEIGHT = MERGE_WEIGHT_numeric
+    MERGE_DEFAULT = MERGE_DEFAULT_float
+try:
+    from _LFBTree import LFTreeSet
+except ImportError:
+    LFTreeSet = LFTreeSetPy
+TreeSet = LFTreeSet
+
+
+# Can't declare forward refs, so fix up afterwards:
+
+LFBucketPy._mapping_type = LFBucketPy._bucket_type = LFBucketPy
+LFBucketPy._set_type = LFSetPy
+
+LFSetPy._mapping_type = LFBucketPy
+LFSetPy._set_type = LFSetPy._bucket_type = LFSetPy
+
+LFBTreePy._mapping_type = LFBTreePy._bucket_type = LFBucketPy
+LFBTreePy._set_type = LFSetPy
+
+LFTreeSetPy._mapping_type = LFBucketPy
+LFTreeSetPy._set_type = LFTreeSetPy._bucket_type = LFSetPy
+
+
+differencePy = _setop(_difference, LFSetPy)
+try:
+    from _LFBTree import difference
+except ImportError:
+    difference = differencePy
+
+unionPy = _setop(_union, LFSetPy)
+try:
+    from _LFBTree import union
+except ImportError:
+    union = unionPy
+
+intersectionPy = _setop(_intersection, LFSetPy)
+try:
+    from _LFBTree import intersection
+except ImportError:
+    intersection = intersectionPy
+
+multiunionPy = _setop(_multiunion, LFSetPy)
+try:
+    from _LFBTree import multiunion
+except ImportError:
+    multiunion = multiunionPy
+
+weightedUnionPy = _setop(_weightedUnion, LFSetPy)
+try:
+    from _OIBTree import union
+except ImportError:
+    weightedUnion = weightedUnionPy
+
+weightedIntersectionPy = _setop(_weightedIntersection, LFSetPy)
+try:
+    from _OIBTree import weightedIntersection
+except ImportError:
+    weightedIntersection = weightedIntersectionPy
+
+
+moduleProvides(IIntegerFloatBTreeModule)

Modified: BTrees/branches/pure_python/BTrees/LLBTree.py
===================================================================
--- BTrees/branches/pure_python/BTrees/LLBTree.py	2012-11-09 06:36:25 UTC (rev 128206)
+++ BTrees/branches/pure_python/BTrees/LLBTree.py	2012-11-09 06:36:26 UTC (rev 128207)
@@ -1,6 +1,6 @@
 ##############################################################################
 #
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
+# Copyright (c) 2001-2012 Zope Foundation and Contributors.
 # All Rights Reserved.
 #
 # This software is subject to the provisions of the Zope Public License,
@@ -12,13 +12,140 @@
 #
 ##############################################################################
 
-import zope.interface
-import BTrees.Interfaces
+__all__ = ('Bucket', 'Set', 'BTree', 'TreeSet',
+           'LLBucket', 'LLSet', 'LLBTree', 'LLTreeSet',
+           'union', 'intersection', 'difference',  
+           'weightedUnion', 'weightedIntersection', 'multiunion',
+          )
 
+from zope.interface import moduleProvides
+
+from BTrees.Interfaces import IIntegerIntegerBTreeModule
+from BTrees.___BTree import Bucket
+from BTrees.___BTree import MERGE
+from BTrees.___BTree import MERGE_WEIGHT_numeric
+from BTrees.___BTree import MERGE_DEFAULT_int
+from BTrees.___BTree import Set
+from BTrees.___BTree import Tree as BTree
+from BTrees.___BTree import TreeSet
+from BTrees.___BTree import difference as _difference
+from BTrees.___BTree import intersection as _intersection
+from BTrees.___BTree import multiunion as _multiunion
+from BTrees.___BTree import setop as _setop
+from BTrees.___BTree import to_long as _to_key
+from BTrees.___BTree import to_long as _to_value
+from BTrees.___BTree import union as _union
+from BTrees.___BTree import weightedIntersection as _weightedIntersection
+from BTrees.___BTree import weightedUnion as _weightedUnion
+
+_BUCKET_SIZE = 120
+_TREE_SIZE = 500
+using64bits = True
+
+class LLBucketPy(Bucket):
+    MAX_SIZE = _BUCKET_SIZE
+    _to_key = _to_key
+    _to_value = _to_value
+    MERGE = MERGE
+    MERGE_WEIGHT = MERGE_WEIGHT_numeric
+    MERGE_DEFAULT = MERGE_DEFAULT_int
 try:
-    from _LLBTree import *
+    from _LLBTree import LLBucket
 except ImportError:
-    import ___BTree
-    ___BTree._import(globals(), 'LL', 120, 500)
+    LLBucket = LLBucketPy
+Bucket = LLBucket
 
-zope.interface.moduleProvides(BTrees.Interfaces.IIntegerIntegerBTreeModule)
+
+class LLSetPy(Set):
+    MAX_SIZE = _BUCKET_SIZE
+    _to_key = _to_key
+    MERGE = MERGE
+    MERGE_WEIGHT = MERGE_WEIGHT_numeric
+    MERGE_DEFAULT = MERGE_DEFAULT_int
+try:
+    from _LLBTree import LLSet
+except ImportError:
+    LLSet = LLSetPy
+Set = LLSet
+
+
+class LLBTreePy(BTree):
+    MAX_SIZE = _TREE_SIZE
+    _to_key = _to_key
+    _to_value = _to_value
+    MERGE = MERGE
+    MERGE_WEIGHT = MERGE_WEIGHT_numeric
+    MERGE_DEFAULT = MERGE_DEFAULT_int
+try:
+    from _LLBTree import LLBTree
+except ImportError:
+    LLBTree = LLBTreePy
+BTree = LLBTree
+
+
+class LLTreeSetPy(TreeSet):
+    MAX_SIZE = _TREE_SIZE
+    _to_key = _to_key
+    MERGE = MERGE
+    MERGE_WEIGHT = MERGE_WEIGHT_numeric
+    MERGE_DEFAULT = MERGE_DEFAULT_int
+try:
+    from _LLBTree import LLTreeSet
+except ImportError:
+    LLTreeSet = LLTreeSetPy
+TreeSet = LLTreeSet
+
+
+# Can't declare forward refs, so fix up afterwards:
+
+LLBucketPy._mapping_type = LLBucketPy._bucket_type = LLBucketPy
+LLBucketPy._set_type = LLSetPy
+
+LLSetPy._mapping_type = LLBucketPy
+LLSetPy._set_type = LLSetPy._bucket_type = LLSetPy
+
+LLBTreePy._mapping_type = LLBTreePy._bucket_type = LLBucketPy
+LLBTreePy._set_type = LLSetPy
+
+LLTreeSetPy._mapping_type = LLBucketPy
+LLTreeSetPy._set_type = LLTreeSetPy._bucket_type = LLSetPy
+
+
+differencePy = _setop(_difference, LLSetPy)
+try:
+    from _LLBTree import difference
+except ImportError:
+    difference = differencePy
+
+unionPy = _setop(_union, LLSetPy)
+try:
+    from _LLBTree import union
+except ImportError:
+    union = unionPy
+
+intersectionPy = _setop(_intersection, LLSetPy)
+try:
+    from _LLBTree import intersection
+except ImportError:
+    intersection = intersectionPy
+
+multiunionPy = _setop(_multiunion, LLSetPy)
+try:
+    from _LLBTree import multiunion
+except ImportError:
+    multiunion = multiunionPy
+
+weightedUnionPy = _setop(_weightedUnion, LLSetPy)
+try:
+    from _OIBTree import union
+except ImportError:
+    weightedUnion = weightedUnionPy
+
+weightedIntersectionPy = _setop(_weightedIntersection, LLSetPy)
+try:
+    from _OIBTree import weightedIntersection
+except ImportError:
+    weightedIntersection = weightedIntersectionPy
+
+
+moduleProvides(IIntegerIntegerBTreeModule)

Modified: BTrees/branches/pure_python/BTrees/LOBTree.py
===================================================================
--- BTrees/branches/pure_python/BTrees/LOBTree.py	2012-11-09 06:36:25 UTC (rev 128206)
+++ BTrees/branches/pure_python/BTrees/LOBTree.py	2012-11-09 06:36:26 UTC (rev 128207)
@@ -1,6 +1,6 @@
 ##############################################################################
 #
-# Copyright (c) 2001, 2002 Zope Foundation and Contributors.
+# Copyright (c) 2001-2012 Zope Foundation and Contributors.
 # All Rights Reserved.
 #
 # This software is subject to the provisions of the Zope Public License,
@@ -12,14 +12,114 @@
 #
 ##############################################################################
 
-import zope.interface
-import BTrees.Interfaces
+__all__ = ('Bucket', 'Set', 'BTree', 'TreeSet',
+           'LOBucket', 'LOSet', 'LOBTree', 'LOTreeSet',
+           'union', 'intersection', 'difference', 'multiunion',
+          )
 
-# hack to overcome dynamic-linking headache.
+from zope.interface import moduleProvides
+
+from BTrees.Interfaces import IIntegerObjectBTreeModule
+from BTrees.___BTree import Bucket
+from BTrees.___BTree import Set
+from BTrees.___BTree import Tree as BTree
+from BTrees.___BTree import TreeSet
+from BTrees.___BTree import difference as _difference
+from BTrees.___BTree import intersection as _intersection
+from BTrees.___BTree import multiunion as _multiunion
+from BTrees.___BTree import setop as _setop
+from BTrees.___BTree import to_long as _to_key
+from BTrees.___BTree import to_ob as _to_value
+from BTrees.___BTree import union as _union
+
+_BUCKET_SIZE = 60
+_TREE_SIZE = 500
+using64bits = True
+
+class LOBucketPy(Bucket):
+    MAX_SIZE = _BUCKET_SIZE
+    _to_key = _to_key
+    _to_value = _to_value
+    def MERGE_WEIGHT(self, value, weight):
+        return value
 try:
-    from _LOBTree import *
+    from _LOBTree import LOBucket
 except ImportError:
-    import ___BTree
-    ___BTree._import(globals(), 'LO', 60, 500)
+    LOBucket = LOBucketPy
+Bucket = LOBucket
 
-zope.interface.moduleProvides(BTrees.Interfaces.IIntegerObjectBTreeModule)
+
+class LOSetPy(Set):
+    MAX_SIZE = _BUCKET_SIZE
+    _to_key = _to_key
+try:
+    from _LOBTree import LOSet
+except ImportError:
+    LOSet = LOSetPy
+Set = LOSet
+
+
+class LOBTreePy(BTree):
+    MAX_SIZE = _TREE_SIZE
+    _to_key = _to_key
+    _to_value = _to_value
+    def MERGE_WEIGHT(self, value, weight):
+        return value
+try:
+    from _LOBTree import LOBTree
+except ImportError:
+    LOBTree = LOBTreePy
+BTree = LOBTree
+
+
+class LOTreeSetPy(TreeSet):
+    MAX_SIZE = _TREE_SIZE
+    _to_key = _to_key
+try:
+    from _LOBTree import LOTreeSet
+except ImportError:
+    LOTreeSet = LOTreeSetPy
+TreeSet = LOTreeSet
+
+
+# Can't declare forward refs, so fix up afterwards:
+
+LOBucketPy._mapping_type = LOBucketPy._bucket_type = LOBucketPy
+LOBucketPy._set_type = LOSetPy
+
+LOSetPy._mapping_type = LOBucketPy
+LOSetPy._set_type = LOSetPy._bucket_type = LOSetPy
+
+LOBTreePy._mapping_type = LOBTreePy._bucket_type = LOBucketPy
+LOBTreePy._set_type = LOSetPy
+
+LOTreeSetPy._mapping_type = LOBucketPy
+LOTreeSetPy._set_type = LOTreeSetPy._bucket_type = LOSetPy
+
+
+differencePy = _setop(_difference, LOSetPy)
+try:
+    from _LOBTree import difference
+except ImportError:
+    difference = differencePy
+
+unionPy = _setop(_union, LOSetPy)
+try:
+    from _LOBTree import union
+except ImportError:
+    union = unionPy
+
+intersectionPy = _setop(_intersection, LOSetPy)
+try:
+    from _LOBTree import intersection
+except ImportError:
+    intersection = intersectionPy
+
+multiunionPy = _setop(_multiunion, LOSetPy)
+try:
+    from _LOBTree import multiunion
+except ImportError:
+    multiunion = multiunionPy
+
+
+moduleProvides(IIntegerObjectBTreeModule)



More information about the checkins mailing list