[Spambayes-checkins] spambayes/spambayes mboxutils.py,1.3,1.4

Skip Montanaro montanaro at users.sourceforge.net
Mon Dec 15 08:58:51 EST 2003


Update of /cvsroot/spambayes/spambayes/spambayes
In directory sc8-pr-cvs1:/tmp/cvs-serv30955

Modified Files:
	mboxutils.py 
Log Message:
(nobody complained)

This change generalizes the DirOfTxtFileMailbox class to assume all
non-directory files contain a single message and to recursively descend into
subdirectories of the argument directory.



Index: mboxutils.py
===================================================================
RCS file: /cvsroot/spambayes/spambayes/spambayes/mboxutils.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** mboxutils.py	19 Sep 2003 23:38:10 -0000	1.3
--- mboxutils.py	15 Dec 2003 13:58:49 -0000	1.4
***************
*** 31,39 ****
  class DirOfTxtFileMailbox:
  
!     """Mailbox directory consisting of .txt and .lorien files."""
  
      def __init__(self, dirname, factory):
!         self.names = (glob.glob(os.path.join(dirname, "*.txt")) +
!                       glob.glob(os.path.join(dirname, "*.lorien")))
          self.names.sort()
          self.factory = factory
--- 31,41 ----
  class DirOfTxtFileMailbox:
  
!     """Directory of files each assumed to contain an RFC-822 message.
! 
!     Subdirectories are traversed recursively.
!     """
  
      def __init__(self, dirname, factory):
!         self.names = glob.glob(os.path.join(dirname, "*"))
          self.names.sort()
          self.factory = factory
***************
*** 41,50 ****
      def __iter__(self):
          for name in self.names:
!             try:
!                 f = open(name)
!             except IOError:
!                 continue
!             yield self.factory(f)
!             f.close()
  
  def _cat(seqs):
--- 43,56 ----
      def __iter__(self):
          for name in self.names:
!             if os.path.isdir(name):
!                 for mbox in DirOfTxtFileMailbox(name, self.factory):
!                     yield mbox
!             else:
!                 try:
!                     f = open(name)
!                 except IOError:
!                     continue
!                 yield self.factory(f)
!                 f.close()
  
  def _cat(seqs):





More information about the Spambayes-checkins mailing list