Updated documentation and version number to reflect new version: 0.2.1

This commit is contained in:
Paul Rodger 2002-04-04 11:19:29 +00:00
parent 4ac9643118
commit 92e86986e5
4 changed files with 58 additions and 4 deletions

View File

@ -1,6 +1,15 @@
Version 0.2.1 - 3 April 2002 Version 0.2.1 - 4 April 2002
* Since we might not have a parse-able 'Date-Received' or 'Date' field, * Since we might not have a parse-able 'Date-Received' or 'Date' field,
use 5 different ways to guess the date of a message. use 5 different ways to guess the date of a message.
* Removed the '--use-mtime' option since it is obsolete -- we will always
use the file modification time for the message if other date-parsing
methods fail.
* Check to see if we are running as root -- if so, change our
effective userid and groupid to that of the original mailbox. This will
make sure any archives or tempfiles we write have the same ownership and
will allow the root user to do "archivemail /var/spool/mail/*"
* Fixed a bug where if you ran 'archivemail.py foo/mbox' it would create
the archive file in the current directory instead of the directory 'foo'.
Version 0.2.0 - 3 April 2002 Version 0.2.0 - 3 April 2002
* Added support for reading from MH mailboxes * Added support for reading from MH mailboxes

6
README
View File

@ -17,7 +17,7 @@ overhead on your mail reader. The number of days before mail is considered
'old' is up to you, but the default is 180 days. To see the options 'old' is up to you, but the default is 180 days. To see the options
archivemail supports, try running 'archivemail --help'. archivemail supports, try running 'archivemail --help'.
'archivemail' currently works on mbox-format and maildir-format mailboxes, 'archivemail' currently works on mbox, maildir and MH format mailboxes
and requires python v2.0 or greater. It also supports deleting old mail and requires python v2.0 or greater. It also supports deleting old mail
instead of archiving it with the '--delete' option. instead of archiving it with the '--delete' option.
@ -25,6 +25,10 @@ The best way to run archivemail is from cron. Giving the '-q' option to
archivemail will make it quiet, only printing messages if something went archivemail will make it quiet, only printing messages if something went
wrong. wrong.
Another good option to remember is the '--dry-run' or '-n' option, which will
just show you how many messages it would have archived without actually
writing to the disk.
archivemail is not exactly blazingly quick at the moment, but if you run it archivemail is not exactly blazingly quick at the moment, but if you run it
from cron you won't mind. Archiving from maildir mailboxes instead of 'mbox' from cron you won't mind. Archiving from maildir mailboxes instead of 'mbox'
is a lot quicker too, since we don't have to do to as much effort to delete is a lot quicker too, since we don't have to do to as much effort to delete

View File

@ -52,7 +52,7 @@ import tempfile
import time import time
# global administrivia # global administrivia
__version__ = "archivemail v0.2.0" __version__ = "archivemail v0.2.1"
__cvs_id__ = "$Id$" __cvs_id__ = "$Id$"
__copyright__ = """Copyright (C) 2002 Paul Rodger <paul@paulrodger.com> __copyright__ = """Copyright (C) 2002 Paul Rodger <paul@paulrodger.com>
This is free software; see the source for copying conditions. There is NO This is free software; see the source for copying conditions. There is NO

41
archivemail_test.py Executable file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env python
import archivemail
import os
import tempfile
import unittest
class TempfileTestCase(unittest.TestCase):
def setUp(self):
self.output_dir = tempfile.mktemp()
os.mkdir(self.output_dir)
self.sub_dir = tempfile.mktemp()
os.mkdir(self.sub_dir)
def testCurrentDir(self):
archivemail._options.output_dir = None
dir = archivemail.choose_temp_dir("dummy")
self.assertEqual(dir, os.curdir)
def testSubDir(self):
archivemail._options.output_dir = None
dir = archivemail.choose_temp_dir(os.path.join(self.sub_dir, "dummy"))
self.assertEqual(dir, self.sub_dir)
def testOutputDir(self):
archivemail._options.output_dir = self.output_dir
dir = archivemail.choose_temp_dir("dummy")
self.assertEqual(dir, self.output_dir)
def testSubDirOutputDir(self):
archivemail._options.output_dir = self.output_dir
dir = archivemail.choose_temp_dir(os.path.join(self.sub_dir, "dummy"))
self.assertEqual(dir, self.output_dir)
def tearDown(self):
os.rmdir(self.output_dir)
os.rmdir(self.sub_dir)
if __name__ == "__main__":
unittest.main()