[Zope-Checkins] CVS: Zope/lib/python/Products/PluginIndexes/TextIndexNG - BaseThesaurus.py:1.1.2.3

Andreas Jung andreas@digicool.com
Thu, 24 Jan 2002 19:49:50 -0500


Update of /cvs-repository/Zope/lib/python/Products/PluginIndexes/TextIndexNG
In directory cvs.zope.org:/tmp/cvs-serv2637

Modified Files:
      Tag: ajung-textindexng-branch
	BaseThesaurus.py 
Log Message:
added __*item__ methods


=== Zope/lib/python/Products/PluginIndexes/TextIndexNG/BaseThesaurus.py 1.1.2.2 => 1.1.2.3 ===
 _basedir = os.path.dirname(__file__)
 
+class ThesaurusException(Exception):  pass
+
 class BaseThesaurus:
 
     def __init__(self, filename):
@@ -26,19 +28,32 @@
         self.clear()
         self.readThesaurus(filename)
 
-        self.keys   = self._thesaurus.keys
-        self.values = self._thesaurus.values
-        self.items  = self._thesaurus.items
-        self.has_key= self._thesaurus.has_key
-        self.get    = self._thesaurus.get
+        self.keys       = self._thesaurus.keys
+        self.values     = self._thesaurus.values
+        self.items      = self._thesaurus.items
+        self.has_key    = self._thesaurus.has_key
 
 
-    def clear(self):
-        self._thesaurus = OOBTree()
+    def __setitem__(self,k,v):
+
+        if not k:
+            raise ThesaurusException, 'Thesaurus key is empty'
+
+        self._thesaurus[k]  = v
+
+
+    def __delitem__(self,k):
+        del self._thesaurus[k]
+
+    def __getitem__(self,k):
+        return self._thesaurus[k]
 
     def __len__(self):  
         return len(self._thesaurus)
 
+    def clear(self):
+        self._thesaurus = OOBTree()
+
 
     def readThesaurus(self, fname,append=0):
         """ Just lame parser for a line-by-line thesaurus. Different thesaurii
@@ -58,5 +73,5 @@
             key = fields[0]
             values = [ x.strip() for x in fields[1].split(',') ]
             
-            self._thesaurus[key] = values
+            self[key] = values