[Checkins] SVN: z3c.indexing.dispatch/trunk/s Removed queue reducer due to licensing issues.

Malthe Borch mborch at gmail.com
Mon Apr 28 16:45:14 EDT 2008


Log message for revision 85831:
  Removed queue reducer due to licensing issues.

Changed:
  U   z3c.indexing.dispatch/trunk/setup.py
  U   z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/configure.zcml
  D   z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/reducer.py
  U   z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/tests/test_queue.py

-=-
Modified: z3c.indexing.dispatch/trunk/setup.py
===================================================================
--- z3c.indexing.dispatch/trunk/setup.py	2008-04-28 20:23:11 UTC (rev 85830)
+++ z3c.indexing.dispatch/trunk/setup.py	2008-04-28 20:45:12 UTC (rev 85831)
@@ -1,7 +1,7 @@
 from setuptools import setup, find_packages
 import sys, os
 
-version = '0.1'
+version = '0.1.1'
 
 setup(name='z3c.indexing.dispatch',
       version=version,

Modified: z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/configure.zcml
===================================================================
--- z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/configure.zcml	2008-04-28 20:23:11 UTC (rev 85830)
+++ z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/configure.zcml	2008-04-28 20:45:12 UTC (rev 85831)
@@ -5,10 +5,6 @@
   
   <utility factory=".queue.getDispatcher" />
 
-  <!-- configure queue reducer -->
-  
-  <utility factory=".reducer.QueueReducer" />
-
   <!-- set queue to commit after request ends -->
   
   <subscriber handler=".queue.commit" />

Deleted: z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/reducer.py
===================================================================
--- z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/reducer.py	2008-04-28 20:23:11 UTC (rev 85830)
+++ z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/reducer.py	2008-04-28 20:45:12 UTC (rev 85831)
@@ -1,38 +0,0 @@
-from logging import getLogger
-from zope.interface import implements
-from z3c.indexing.dispatch.interfaces import IQueueReducer
-from z3c.indexing.dispatch.constants import INDEX, UNINDEX
-
-debug = getLogger('z3c.indexing.dispatch.reducer').debug
-
-class QueueReducer(object):
-    """Reduce a queue of index operations."""
-    
-    implements(IQueueReducer)
-
-    def optimize(self, queue):
-        res = {}
-        debug('start reducing %d item(s): %r', len(queue), queue)
-
-        for iop, obj, iattr in queue:
-            oid = hash(obj)
-            op, dummy, attr = res.get(oid, (0, obj, iattr))
-            # If we are going to delete an item that was added in this transaction, ignore it
-            if op == INDEX and iop == UNINDEX:
-                del res[oid]
-            else:
-                # Operators are -1, 0 or 1 which makes it safe to add them
-                op += iop
-                op = min(max(op,UNINDEX), INDEX) # operator always between -1 and 1
-
-                # Handle attributes, None means all fields, and takes presedence
-                if isinstance(attr, (tuple,list)) and isinstance(iattr, (tuple,list)):
-                    attr = tuple(set(attr + iattr))
-                else:
-                    attr = None
-
-                res[oid] = (op, obj, attr)
-
-        debug('finished reducing; %d item(s) in queue...', len(res))
-
-        return res.values()

Modified: z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/tests/test_queue.py
===================================================================
--- z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/tests/test_queue.py	2008-04-28 20:23:11 UTC (rev 85830)
+++ z3c.indexing.dispatch/trunk/src/z3c/indexing/dispatch/tests/test_queue.py	2008-04-28 20:45:12 UTC (rev 85831)
@@ -12,7 +12,6 @@
 from z3c.indexing.dispatch.interfaces import ITransactionalDispatcher
 from z3c.indexing.dispatch.interfaces import IQueueReducer
 
-from z3c.indexing.dispatch.reducer import QueueReducer
 from z3c.indexing.dispatch.queue import TransactionalDispatcher
 from z3c.indexing.dispatch.queue import getDispatcher
 from z3c.indexing.dispatch.constants import INDEX, REINDEX, UNINDEX
@@ -129,53 +128,6 @@
         dispatcher._optimize()                # and try again...
         self.assertEqual(dispatcher.getState(), [(INDEX, 'foo', None), (REINDEX, 'foo', None), (INDEX, 'foo', 'bar')])
 
-    def testRealQueueReducer(self):
-        provideUtility(QueueReducer())
-        dispatcher = self.dispatcher
-        dispatcher.index('foo')
-        dispatcher.reindex('foo')
-        dispatcher.unindex('foo')
-        dispatcher.index('foo', 'bar')
-        dispatcher._optimize()
-        self.assertEqual(dispatcher.getState(), [(INDEX, 'foo', None)])
-
-
-class QueueReducerTests(TestCase):
-
-    def testReduceQueue(self):
-        reducer = QueueReducer()
-
-        queue = [(REINDEX, 'A', None), (REINDEX, 'A', None)]
-        self.failUnlessEqual(reducer.optimize(queue), [(REINDEX, 'A', None)])
-
-        queue = [(INDEX, 'A', None), (REINDEX, 'A', None)]
-        self.failUnlessEqual(reducer.optimize(queue), [(INDEX, 'A', None)])
-
-        queue = [(INDEX, 'A', None), (UNINDEX, 'A', None)]
-        self.failUnlessEqual(reducer.optimize(queue), [])
-
-        queue = [(UNINDEX, 'A', None), (INDEX, 'A', None)]
-        self.failUnlessEqual(reducer.optimize(queue), [(REINDEX, 'A', None)])
-
-    def testReduceQueueWithAttributes(self):
-        reducer = QueueReducer()
-
-        queue = [(REINDEX, 'A', None), (REINDEX, 'A', ('a','b'))]
-        self.failUnlessEqual(reducer.optimize(queue), [(REINDEX, 'A', None)])
-
-        queue = [(REINDEX, 'A', ('a','b')), (REINDEX, 'A', None)]
-        self.failUnlessEqual(reducer.optimize(queue), [(REINDEX, 'A', None)])
-
-        queue = [(REINDEX, 'A', ('a','b')), (REINDEX, 'A', ('b','c'))]
-        self.failUnlessEqual(reducer.optimize(queue), [(REINDEX, 'A', ('a', 'c', 'b'))])
-
-        queue = [(INDEX, 'A', None), (REINDEX, 'A', None)]
-        self.failUnlessEqual(reducer.optimize(queue), [(INDEX, 'A', None)])
-
-        queue = [(REINDEX, 'A', ('a','b')), (UNINDEX, 'A', None), (INDEX, 'A', None)]
-        self.failUnlessEqual(reducer.optimize(queue), [(REINDEX, 'A', None)])
-
-
 class QueueThreadTests(TestCase):
     """ thread tests modeled after zope.thread doctests """
 
@@ -261,7 +213,6 @@
 def test_suite():
     return TestSuite([
         makeSuite(QueueTests),
-        makeSuite(QueueReducerTests),
         makeSuite(QueueThreadTests),
     ])
 



More information about the Checkins mailing list