[Spambayes-checkins] spambayes/spambayes storage.py,1.55,1.56

Tony Meyer anadelonbrin at users.sourceforge.net
Mon Nov 28 03:06:51 CET 2005


Update of /cvsroot/spambayes/spambayes/spambayes
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23134/spambayes

Modified Files:
	storage.py 
Log Message:
Don't pack in read-only mode.

Don't use "db" as an attribute, as subclasses might want that.

Close databases after converting.

Handle converting empty databases.

Open database to convert in read-only mode.

Index: storage.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/spambayes/storage.py,v
retrieving revision 1.55
retrieving revision 1.56
diff -C2 -d -r1.55 -r1.56
*** storage.py	26 Nov 2005 06:44:15 -0000	1.55
--- storage.py	28 Nov 2005 02:06:42 -0000	1.56
***************
*** 729,734 ****
  
          self.create_storage()
!         self.db = ZODB.DB(self.storage)
!         self.conn = self.db.open()
          root = self.conn.root()
  
--- 729,734 ----
  
          self.create_storage()
!         self.DB = ZODB.DB(self.storage)
!         self.conn = self.DB.open()
          root = self.conn.root()
  
***************
*** 791,795 ****
  
          # Do the closing.        
!         self.db.close()
  
          # We don't make any use of the 'undo' capabilities of the
--- 791,795 ----
  
          # Do the closing.        
!         self.DB.close()
  
          # We don't make any use of the 'undo' capabilities of the
***************
*** 799,803 ****
          # XXX What is the 'referencesf' parameter for pack()?  It doesn't
          # XXX seem to do anything according to the source.
!         if hasattr(self.storage, "pack"):
              self.storage.pack(time.time()-60*60*24, None)
          self.storage.close()
--- 799,803 ----
          # XXX What is the 'referencesf' parameter for pack()?  It doesn't
          # XXX seem to do anything according to the source.
!         if self.mode != 'r' and hasattr(self.storage, "pack"):
              self.storage.pack(time.time()-60*60*24, None)
          self.storage.close()
***************
*** 1016,1025 ****
              new_type = auto_type
  
!     old_bayes = open_storage(old_name, old_type)
      new_bayes = open_storage(new_name, new_type)
      words = old_bayes._wordinfokeys()
  
!     new_bayes.nham = old_bayes.nham
!     new_bayes.nspam = old_bayes.nspam
  
      print >> sys.stderr, "Converting %s (%s database) to " \
--- 1016,1031 ----
              new_type = auto_type
  
!     old_bayes = open_storage(old_name, old_type, 'r')
      new_bayes = open_storage(new_name, new_type)
      words = old_bayes._wordinfokeys()
  
!     try:
!         new_bayes.nham = old_bayes.nham
!     except AttributeError:
!         new_bayes.nham = 0
!     try:
!         new_bayes.nspam = old_bayes.nspam
!     except AttributeError:
!         new_bayes.nspam = 0
  
      print >> sys.stderr, "Converting %s (%s database) to " \
***************
*** 1030,1037 ****
      for word in words:
          new_bayes._wordinfoset(word, old_bayes._wordinfoget(word))
  
!     print "Storing database, please be patient..."
      new_bayes.store()
!     print "Conversion complete."
  
  def ensureDir(dirname):
--- 1036,1045 ----
      for word in words:
          new_bayes._wordinfoset(word, old_bayes._wordinfoget(word))
+     old_bayes.close()
  
!     print >> sys.stderr, "Storing database, please be patient..."
      new_bayes.store()
!     print >> sys.stderr, "Conversion complete."
!     new_bayes.close()
  
  def ensureDir(dirname):



More information about the Spambayes-checkins mailing list