[Spambayes] FYI -- dumbdbm is nuked

io219 at comcast.net io219 at comcast.net
Thu Aug 7 19:08:29 EDT 2003


>> > You could just use pickles, of course.  They're still an
>> > improvement over dumbdbm (in this case).
>> Where do I make SpamBayes use pickles?

> The best way is to change your configuration file.  Add the following
> line in the [Storage] section (create the section if it's not already
> there).

>     persistent_use_database: False

I've updated to the latest CVS with the new DB changes from yesterday.
I am without dumbdbm now, but with the following in my bayescustomize.ini :

  [Storage]
  persistent_use_database=False
  persistent_use_database:False

I get the following stack trace...

  C:\Python22\Scripts>pop3proxy.py
  Traceback (most recent call last):
    File "C:\Python22\Scripts\pop3proxy.py", line 96, in ?
      import spambayes.message
    File "C:\Python22\Lib\site-packages\spambayes\message.py", line 137, in ?
      msginfoDB = MessageInfoDB(message_info_db_name)
    File "C:\Python22\Lib\site-packages\spambayes\message.py", line 113, in __init
  __
      self.dbm = dbmstorage.open(self.db_name, self.mode)
    File "C:\Python22\Lib\site-packages\spambayes\dbmstorage.py", line 53, in open
  
      return f(*args)
    File "C:\Python22\Lib\site-packages\spambayes\dbmstorage.py", line 39, in open
  _best
      raise error("No dbm modules available!")
  spambayes.dbmstorage.error: No dbm modules available!
  
  C:\Python22\Scripts>

I thought at first the raise was left in on accident, so I commented it..
This lets me check my mail at least but I get a ton of these, I think one
for each message...

  Traceback (most recent call last):
    File "C:\Python22\Scripts\pop3proxy.py", line 435, in onRetr
      msg.setId(state.getNewMessageName())
    File "C:\Python22\Lib\site-packages\spambayes\message.py", line 181, in setId
      msginfoDB._getState(self)
    File "C:\Python22\Lib\site-packages\spambayes\message.py", line 121, in _getSt
  ate
      (msg.c, msg.t) = self.db[msg.getId()]
    File "C:\Python22\lib\shelve.py", line 70, in __getitem__
      f = StringIO(self.dict[key])
  TypeError: unsubscriptable object

The messages contain this header :

  X-Spambayes-Exception: exceptions.TypeError(unsubscriptable object) in
          __getitem__() at C:\Python22\lib\shelve.py line 70: f
          = StringIO(self.dict[key])
        
-Tomi




More information about the Spambayes mailing list