[Checkins] SVN: zope.index/trunk/src/zope/index/text/ Expose 'lexicon' of okapi / cosine indexes.
Tres Seaver
tseaver at palladion.com
Thu Jul 8 13:52:17 EDT 2010
Log message for revision 114346:
Expose 'lexicon' of okapi / cosine indexes.
Changed:
U zope.index/trunk/src/zope/index/text/baseindex.py
U zope.index/trunk/src/zope/index/text/interfaces.py
U zope.index/trunk/src/zope/index/text/tests/test_baseindex.py
U zope.index/trunk/src/zope/index/text/tests/test_cosineindex.py
U zope.index/trunk/src/zope/index/text/tests/test_okapiindex.py
-=-
Modified: zope.index/trunk/src/zope/index/text/baseindex.py
===================================================================
--- zope.index/trunk/src/zope/index/text/baseindex.py 2010-07-08 17:42:33 UTC (rev 114345)
+++ zope.index/trunk/src/zope/index/text/baseindex.py 2010-07-08 17:52:16 UTC (rev 114346)
@@ -25,15 +25,18 @@
from zope.index.interfaces import IInjection
from zope.index.interfaces import IStatistics
from zope.index.text.interfaces import IExtendedQuerying
+from zope.index.text.interfaces import ILexiconBasedIndex
from zope.index.text import widcode
from zope.index.text.setops import mass_weightedIntersection
from zope.index.text.setops import mass_weightedUnion
class BaseIndex(Persistent):
- implements(IInjection, IStatistics, IExtendedQuerying)
+ implements(IInjection, IStatistics, ILexiconBasedIndex, IExtendedQuerying)
family = BTrees.family32
+ lexicon = property(lambda self: self._lexicon,)
+
def __init__(self, lexicon, family=None):
if family is not None:
self.family = family
Modified: zope.index/trunk/src/zope/index/text/interfaces.py
===================================================================
--- zope.index/trunk/src/zope/index/text/interfaces.py 2010-07-08 17:42:33 UTC (rev 114345)
+++ zope.index/trunk/src/zope/index/text/interfaces.py 2010-07-08 17:52:16 UTC (rev 114346)
@@ -13,6 +13,7 @@
##############################################################################
"""Text-indexing interfaces
"""
+from zope.interface import Attribute
from zope.interface import Interface
class ILexicon(Interface):
@@ -75,6 +76,10 @@
The word should be one of the words returned by parseTerms().
"""
+class ILexiconBasedIndex(Interface):
+ """ Interface for indexes which hold a lexicon."""
+ lexicon = Attribute(u'Lexicon used by the index.')
+
class IQueryParser(Interface):
"""Interface for Query Parsers."""
Modified: zope.index/trunk/src/zope/index/text/tests/test_baseindex.py
===================================================================
--- zope.index/trunk/src/zope/index/text/tests/test_baseindex.py 2010-07-08 17:42:33 UTC (rev 114345)
+++ zope.index/trunk/src/zope/index/text/tests/test_baseindex.py 2010-07-08 17:52:16 UTC (rev 114346)
@@ -49,6 +49,16 @@
from zope.index.interfaces import IStatistics
verifyObject(IStatistics, self._makeOne())
+ def test_class_conforms_to_ILexiconBasedIndex(self):
+ from zope.interface.verify import verifyClass
+ from zope.index.text.interfaces import ILexiconBasedIndex
+ verifyClass(ILexiconBasedIndex, self._getTargetClass())
+
+ def test_instance_conforms_to_ILexiconBasedIndex(self):
+ from zope.interface.verify import verifyObject
+ from zope.index.text.interfaces import ILexiconBasedIndex
+ verifyObject(ILexiconBasedIndex, self._makeOne())
+
def test_class_conforms_to_IExtendedQuerying(self):
from zope.interface.verify import verifyClass
from zope.index.text.interfaces import IExtendedQuerying
Modified: zope.index/trunk/src/zope/index/text/tests/test_cosineindex.py
===================================================================
--- zope.index/trunk/src/zope/index/text/tests/test_cosineindex.py 2010-07-08 17:42:33 UTC (rev 114345)
+++ zope.index/trunk/src/zope/index/text/tests/test_cosineindex.py 2010-07-08 17:52:16 UTC (rev 114346)
@@ -47,6 +47,16 @@
from zope.index.interfaces import IStatistics
verifyObject(IStatistics, self._makeOne())
+ def test_class_conforms_to_ILexiconBasedIndex(self):
+ from zope.interface.verify import verifyClass
+ from zope.index.text.interfaces import ILexiconBasedIndex
+ verifyClass(ILexiconBasedIndex, self._getTargetClass())
+
+ def test_instance_conforms_to_ILexiconBasedIndex(self):
+ from zope.interface.verify import verifyObject
+ from zope.index.text.interfaces import ILexiconBasedIndex
+ verifyObject(ILexiconBasedIndex, self._makeOne())
+
def test_class_conforms_to_IExtendedQuerying(self):
from zope.interface.verify import verifyClass
from zope.index.text.interfaces import IExtendedQuerying
Modified: zope.index/trunk/src/zope/index/text/tests/test_okapiindex.py
===================================================================
--- zope.index/trunk/src/zope/index/text/tests/test_okapiindex.py 2010-07-08 17:42:33 UTC (rev 114345)
+++ zope.index/trunk/src/zope/index/text/tests/test_okapiindex.py 2010-07-08 17:52:16 UTC (rev 114346)
@@ -47,6 +47,16 @@
from zope.index.interfaces import IStatistics
verifyObject(IStatistics, self._makeOne())
+ def test_class_conforms_to_ILexiconBasedIndex(self):
+ from zope.interface.verify import verifyClass
+ from zope.index.text.interfaces import ILexiconBasedIndex
+ verifyClass(ILexiconBasedIndex, self._getTargetClass())
+
+ def test_instance_conforms_to_ILexiconBasedIndex(self):
+ from zope.interface.verify import verifyObject
+ from zope.index.text.interfaces import ILexiconBasedIndex
+ verifyObject(ILexiconBasedIndex, self._makeOne())
+
def test_class_conforms_to_IExtendedQuerying(self):
from zope.interface.verify import verifyClass
from zope.index.text.interfaces import IExtendedQuerying
More information about the checkins
mailing list