[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