Nikolaus Schulz
4584dffe14
Fixed date header parsing to be precise with timezone information. Also, when
...
writing From_ line timestamps, don't use UTC but local time, without timezone
information.
2007-11-13 02:59:31 +00:00
Nikolaus Schulz
5178c956bc
!%&$*# Repair previous broken commit where an unrelated hunk slipped through.
...
Reverted that hunk.
2007-11-13 00:36:51 +00:00
Nikolaus Schulz
d9ffaf4a3b
When converting from other formats to mbox, re-use existing 'Status' and
...
'X-Status' headers if appropriate (instead of deleting and re-generating them).
2007-11-13 00:32:49 +00:00
Nikolaus Schulz
ead112daba
If running as root, only call seteuid/setegid if the if the owner of the mailbox
...
is not root.
2007-11-09 17:04:52 +00:00
Nikolaus Schulz
0ae7edab86
Bumped version to 0.7.2, and updated release info on the webpage.
2007-11-09 14:54:54 +00:00
Nikolaus Schulz
e0c75a1001
IMAP: fixed crash by working around python bug #1277098 , which is still pending
...
in python << 2.5.
2007-11-09 14:33:13 +00:00
Nikolaus Schulz
4b64da911e
Debug message improvements. Explicitely say if we're selecting an IMAP mailbox
...
read-only. Improve some formatting.
2007-11-07 23:57:03 +00:00
Nikolaus Schulz
adf6515746
Added more debugging messages to the IMAP flag conversion.
2007-11-07 23:51:41 +00:00
Nikolaus Schulz
9439e1fa8a
Minor code cleanup.
2007-11-07 23:50:18 +00:00
Nikolaus Schulz
d5cb3dad61
IMAP: if selecting a mailbox fails with both the original path name and with
...
replaced path delimiters, report failure for the original path.
2007-11-07 21:10:08 +00:00
Nikolaus Schulz
f47de26676
Minor code cleanups.
2007-11-07 19:52:52 +00:00
Nikolaus Schulz
fbb00e08f4
IMAP: if selecting the mailbox fails, then detect the server's mailbox hierarchy
...
delimiter, replace slashes in the mailbox name with the delimiter and try again.
2007-11-07 16:31:49 +00:00
Nikolaus Schulz
1e5cb090e7
Fixed IMAP --verbose mode to say what we're *intending* to do next, instead of
...
reporting success after the fact. This makes a lot more sense for debugging.
Also added some more messages.
2007-11-07 14:33:17 +00:00
Nikolaus Schulz
bcb01613d0
archivemail.py, setup.py, test_archivemail.py:
...
bumped version to 0.7.1, and updated copyright.
2007-11-07 00:57:44 +00:00
Nikolaus Schulz
74c871644e
When converting from other formats to mbox, don't preserve existing 'Status' and
...
'X-Status' mbox headers, we better overwrite them with correct values.
2007-11-02 23:35:50 +00:00
Nikolaus Schulz
c0552fcd06
With IMAP no IdentityCache object was initialized, causing a crash if
...
--warn-duplicates was used. Closes: Debian bug #434786 .
2007-11-02 21:53:20 +00:00
Nikolaus Schulz
b40da3124a
archivemail.py: added --copy option to the usage message.
2007-11-02 21:21:17 +00:00
Nikolaus Schulz
aae08fe3fb
Let archivemail accept --days=0.
2007-11-02 21:18:23 +00:00
Nikolaus Schulz
59e9715021
Expand tilde in argument of long option --pwfile.
2007-11-02 21:06:59 +00:00
Nikolaus Schulz
b2f94206b1
Deprecate the old automatic seteuid feature; document this in the manpage and
...
changelog, and let archivemail spit a warning when it changes the effective user
id.
2007-11-02 20:26:40 +00:00
Nikolaus Schulz
3ee105d766
If running as root, only switch the effective uid and gid back if we have
...
actually switched them before.
2007-11-02 18:47:23 +00:00
Nikolaus Schulz
3240b24d9f
New option --copy: archive mail, but don't delete it from the mailbox.
...
Closes : #981865 , #988803 , #1764851 , Debian bug #434798
2007-11-02 17:44:38 +00:00
Nikolaus Schulz
0eba452d93
IMAP: first fetch message flags, then the body. Doing it together always
...
returns the \Seen flag set.
Closes: Debian bug #434807 (well, the outstanding part of it).
2007-11-02 13:21:18 +00:00
Nikolaus Schulz
130a5ef117
When converting from maildir or IMAP to mbox, report existing 'Status' and
...
'X-Status' headers in verbose mode, since they are preserved, which can give
surprising results.
2007-11-02 12:27:32 +00:00
Nikolaus Schulz
82e3be1987
IMAP: fixed message flags retrieval, which failed to extract the right string
...
from the server response. Tough.
2007-11-02 12:00:12 +00:00
Nikolaus Schulz
6ea7c7d810
If dry-running, open IMAP mailboxes read-only. This uses EXAMINE instead of
...
select, thus preserving the \Recent flag.
2007-11-02 11:44:21 +00:00
Nikolaus Schulz
9e70e576af
add_status_headers_imap():
...
* mark message 'old' iff it's not \Recent (drop requirement that it's
unread; this probably confused mutt's message status flags in the index
with mbox status flags).
* a message not \Seen and not \Recent was marked as 'N', but there is no
such thing like an mbox status flag 'N'.
2007-11-02 11:26:20 +00:00
Nikolaus Schulz
8e73e315e4
Skip invalid messages/files in Maildirs.
...
Closes : #1783369 , Debian bug #255944 , and Debian bug #305902 also seems about
this issue.
2007-10-24 02:23:59 +00:00
Nikolaus Schulz
0e9ae1d91b
New IMAP URL parser that understands double-quoted usernames and passwords.
...
Closes : #1640878
2007-10-23 22:48:15 +00:00
Nikolaus Schulz
1493a22f38
Define very simple exception classes, mapping to the error functions
...
user_error() and unexpected_error(). If archivemail is used as a module, let
the functions raise the corresponding exceptions rather than writing to stderr
and calling sys.exit().
2007-10-23 22:27:57 +00:00
Nikolaus Schulz
255a475978
Use a wrapper around rfc822.Message.fp to find the filename for Maildir/MH
...
emails. Python 2.5 broke backward compatibility for Maildirs. :-/
Closes : #1670422
2007-10-22 22:03:44 +00:00
Nikolaus Schulz
8abd70093f
Expand tilde in argument of long option --output-dir, the shell doesn't.
2006-11-14 22:20:37 +00:00
Nikolaus Schulz
faa68b2048
Bumped version to 0.7.0
2006-11-02 06:43:09 +00:00
Nikolaus Schulz
8de4715e5c
Renamed __cvs_id__ to __svn_id__.
2006-11-02 06:40:31 +00:00
Nikolaus Schulz
46f9aa44a9
Split the final stats message in two lines, because it might otherwise linewrap.
2006-11-02 05:36:17 +00:00
Nikolaus Schulz
810dea1bf5
Made IMAP password prompt a tad bit more verbose.
2006-11-01 21:05:10 +00:00
Nikolaus Schulz
3d8a1bda89
Don't prompt for the IMAP password if in quiet mode or if not running
...
interactively (stdin is not a terminal).
2006-11-01 20:57:58 +00:00
Nikolaus Schulz
89e6683334
Improved IMAP error handling: pass error messages from the server on to the
...
user, and check if deleting the messages was successful.
2006-11-01 20:35:53 +00:00
Nikolaus Schulz
c7d074abde
Streamlined verbose IMAP messages a bit.
2006-11-01 20:25:09 +00:00
Nikolaus Schulz
d79da0ae99
Removed redundant check if imap login was succesful, since IMAP4.login then
...
raises an exception.
2006-11-01 20:23:44 +00:00
Nikolaus Schulz
c5f194f3ec
Tightened some blanket exception handlers.
2006-11-01 19:49:47 +00:00
Nikolaus Schulz
e872f2211e
Changed misleading references to 'message ids' in the IMAP code to the
...
technically correct 'message sequence number'.
2006-11-01 06:11:55 +00:00
Nikolaus Schulz
bea6ef6390
Optimized IMAP code: just invert the message list from the SEARCH response
...
instead of querying the server another time with an inverted search filter.
Gather RFC822.SIZE in one big run.
2006-11-01 05:27:30 +00:00
Nikolaus Schulz
86f1fec50d
Renamed variable 'filter' to prevent conflicts with the builtin function.
2006-11-01 00:40:26 +00:00
Nikolaus Schulz
b3dc8a006e
Always sanity-check each archive destination directory, not only when it's
...
specified with --output-dir.
2006-10-31 04:09:31 +00:00
Nikolaus Schulz
dcd37f6466
Make stats report size totals for the mailboxes and the archived messages, and
...
while at it, make stats work with IMAP.
2006-10-31 03:07:02 +00:00
Nikolaus Schulz
9549c3e29d
Minor code cleanup in build_imap_filter().
2006-10-31 00:35:19 +00:00
Nikolaus Schulz
a221f62f52
Shortened new option name "--dont-mangle-from" to "--dont-mangle".
2006-10-30 19:34:39 +00:00
Nikolaus Schulz
697c22daac
Rewrote Mbox.procmail_lock() to fix locking race condition. Should now also be
...
NFS-safe.
2006-10-30 19:29:15 +00:00
Nikolaus Schulz
99cfab1f4e
Don't run clean_up() by means of atexit, but use a plain finally clause in the
...
main archive() function. This is simpler, and it works better with the
testsuite calling archive() directly, where the atexit handler isn't triggered.
2006-10-29 03:10:45 +00:00