[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