[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