Use the archive cut-off date rather than the current time with the

--suffix option.
This commit is contained in:
Paul Rodger 2002-11-21 22:57:13 +00:00
parent 60f119d64a
commit 64d87da307
4 changed files with 15 additions and 4 deletions

View File

@ -1,4 +1,8 @@
Version 0.6.2 - ???
* Use the archive cut date rather than the actual time with the --suffix
option. (Thanks Manuel Estrada Sainz)
Version 0.6.1 - 31 October 2002 Version 0.6.1 - 31 October 2002
* Removed a test rule that we could archive messages older than the * Removed a test rule that we could archive messages older than the
Unix epoch. Newer versions of python now give an overflow error calling Unix epoch. Newer versions of python now give an overflow error calling

2
TODO
View File

@ -1,5 +1,7 @@
.archivemailrc support .archivemailrc support
Specify an option to not seteuid() when run as root?
When you get a file-not-found in the 6th mailbox of 10, it aborts the whole When you get a file-not-found in the 6th mailbox of 10, it aborts the whole
run. Better to fail gracefully and keep going. run. Better to fail gracefully and keep going.

View File

@ -993,8 +993,13 @@ def archive(mailbox_name):
os.umask(077) # saves setting permissions on mailboxes/tempfiles os.umask(077) # saves setting permissions on mailboxes/tempfiles
# allow the user to embed time formats such as '%B' in the suffix string # allow the user to embed time formats such as '%B' in the suffix string
if options.date_old_max == None:
parsed_suffix_time = time.time() - options.days_old_max*24*60*60
else:
parsed_suffix_time = options.date_old_max
parsed_suffix = time.strftime(options.archive_suffix, parsed_suffix = time.strftime(options.archive_suffix,
time.localtime(time.time())) time.localtime(parsed_suffix_time))
if mailbox_name[:7].lower() == 'imap://': if mailbox_name[:7].lower() == 'imap://':
final_archive_name = mailbox_name.split('/')[-1] + parsed_suffix final_archive_name = mailbox_name.split('/')[-1] + parsed_suffix

View File

@ -135,8 +135,8 @@ with the filename <filename>exsouthrock_archive.gz</filename>.
<Para> <Para>
<Replaceable/NAME/ is run through the &python; <application/time.strftime()/ <Replaceable/NAME/ is run through the &python; <application/time.strftime()/
function, which means that you can specify any of the following special function, which means that you can specify any of the following special
directives in <Replaceable/NAME/ to make archives named after the current directives in <Replaceable/NAME/ to make archives named after the archive
date: cut-off date:
<itemizedlist mark='none'> <itemizedlist mark='none'>
<listitem><para><option>%a</option> <listitem><para><option>%a</option>
@ -369,7 +369,7 @@ are older than 180 days to a compressed mailbox called
<Para> <Para>
To archive all messages in the mailbox <filename>debian-user</filename> that To archive all messages in the mailbox <filename>debian-user</filename> that
are older than 180 days to a compressed mailbox called are older than 180 days to a compressed mailbox called
<filename>debian-user_April_2002.gz</filename> (where the current month and <filename>debian-user_October_2001.gz</filename> (where the current month and
year is April, 2002) in the current directory: year is April, 2002) in the current directory:
<screen> <screen>
<prompt>bash$ </prompt><userinput>archivemail --suffix '_%B_%Y' debian-user</userinput> <prompt>bash$ </prompt><userinput>archivemail --suffix '_%B_%Y' debian-user</userinput>