[Spambayes-checkins] spambayes/spambayes FileCorpus.py,1.20,1.21

Tony Meyer anadelonbrin at users.sourceforge.net
Tue Nov 15 01:42:42 CET 2005


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

Modified Files:
	FileCorpus.py 
Log Message:
Handle flags on addMessage.

Make it easier to subclass FileMessage.

Don't shadow IOErrors.

Index: FileCorpus.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/spambayes/FileCorpus.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** FileCorpus.py	22 Apr 2005 07:15:09 -0000	1.20
--- FileCorpus.py	15 Nov 2005 00:42:39 -0000	1.21
***************
*** 88,92 ****
          return msg
  
!     def addMessage(self, message):
          '''Add a Message to this corpus'''
          if not fnmatch.fnmatch(message.key(), self.filter):
--- 88,92 ----
          return msg
  
!     def addMessage(self, message, observer_flags=0):
          '''Add a Message to this corpus'''
          if not fnmatch.fnmatch(message.key(), self.filter):
***************
*** 100,104 ****
          # superclass processing *MUST* be done
          # perform superclass processing *LAST!*
!         Corpus.Corpus.addMessage(self, message)
  
      def removeMessage(self, message, observer_flags=0):
--- 100,104 ----
          # superclass processing *MUST* be done
          # perform superclass processing *LAST!*
!         Corpus.Corpus.addMessage(self, message, observer_flags)
  
      def removeMessage(self, message, observer_flags=0):
***************
*** 148,158 ****
      '''Message that persists as a file system artifact.'''
  
!     def __init__(self, file_name=None, directory=None,
!                  message_database=None):
          '''Constructor(message file name, corpus directory name)'''
          self.file_name = file_name
          self.directory = directory
          self.loaded = False
!         self._msg = message.SBHeaderMessage(message_info_db=message_database)
  
      def __getattr__(self, att):
--- 148,158 ----
      '''Message that persists as a file system artifact.'''
  
!     message_class = message.SBHeaderMessage
!     def __init__(self, file_name=None, directory=None):
          '''Constructor(message file name, corpus directory name)'''
          self.file_name = file_name
          self.directory = directory
          self.loaded = False
!         self._msg = self.message_class()
  
      def __getattr__(self, att):
***************
*** 211,215 ****
          try:
              self._msg = email.message_from_string(\
!                 fp.read(), _class = message.SBHeaderMessage)
          except IOError, e:
              if str(e) == 'Not a gzipped file':
--- 211,215 ----
          try:
              self._msg = email.message_from_string(\
!                 fp.read(), _class = self.message_class)
          except IOError, e:
              if str(e) == 'Not a gzipped file':
***************
*** 219,224 ****
                  fp = open(self.pathname(), 'rb')
                  self._msg = email.message_from_string(\
!                     fp.read(), _class = message.SBHeaderMessage)
                  fp.close()
          else:
              fp.close()
--- 219,227 ----
                  fp = open(self.pathname(), 'rb')
                  self._msg = email.message_from_string(\
!                     fp.read(), _class = self.message_class)
                  fp.close()
+             else:
+                 # Don't shadow other errors.
+                 raise
          else:
              fp.close()
***************
*** 299,306 ****
      # Subclass must define a concrete message klass.
      klass = None
-     def __init__(self, message_database=None):
-         self.message_database = message_database
-         Corpus.MessageFactory.__init__(self)
-         
      def create(self, key, directory, content=None):
          '''Create a message object from a filename in a directory'''
--- 302,305 ----
***************
*** 312,316 ****
              msg.loaded = True
              return msg
!         return self.klass(key, directory, self.message_database)
      
  
--- 311,315 ----
              msg.loaded = True
              return msg
!         return self.klass(key, directory)
      
  



More information about the Spambayes-checkins mailing list