| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
If messages were only added, a new file is no longer created and
renamed over the old file when flush() is called on an mbox, MMDF or
Babyl mailbox.
|
| |
|
|
|
|
| |
Closes #13254.
|
|
|
|
|
|
| |
This makes them work like the close provided by regular file objects. This
patch also backports the close-the-underlying-file code for _ProxyFile objects
that was introduced along with context manager support in the 3.x branch.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r88730 | r.david.murray | 2011-03-03 13:03:36 -0500 (Thu, 03 Mar 2011) | 2 lines
#11306: Treat EROFS like EACCES when making a 'file is read-only' decision
........
|
|
|
|
|
|
|
|
|
|
| |
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r88407 | r.david.murray | 2011-02-11 19:03:31 -0500 (Fri, 11 Feb 2011) | 2 lines
Fix #11116 fix on Windows (close file before removing in MH code)
........
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
svn+ssh://pythondev@svn.python.org/python/branches/py3k
Test not backported since they depend on 3.x quirks. Not
easy to rewrite them for 2.7.
........
r88403 | r.david.murray | 2011-02-11 17:47:17 -0500 (Fri, 11 Feb 2011) | 3 lines
#11116: roll back on error during add so mailbox isn't left corrupted.
........
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r83385 | georg.brandl | 2010-08-01 08:42:45 +0200 (So, 01 Aug 2010) | 1 line
#8773: mailbox.py does not need to be executable.
........
r83386 | georg.brandl | 2010-08-01 08:44:46 +0200 (So, 01 Aug 2010) | 1 line
#8768: name test method properly so that it gets executed.
........
r83387 | georg.brandl | 2010-08-01 08:53:28 +0200 (So, 01 Aug 2010) | 1 line
#8735: better explain semantics of *values* argument for parse().
........
r83388 | georg.brandl | 2010-08-01 09:48:43 +0200 (So, 01 Aug 2010) | 1 line
#7395: fix traceback in do_add() when no stats are loaded. Apply same fix for do_sort() and do_reverse().
........
r83389 | georg.brandl | 2010-08-01 09:57:47 +0200 (So, 01 Aug 2010) | 1 line
Small improvements to pstats browser: do not crash on reading invalid file, and actually do a reload when executing "read" as intended.
........
r83391 | georg.brandl | 2010-08-01 10:10:08 +0200 (So, 01 Aug 2010) | 1 line
Add another news entry.
........
|
|
|
|
| |
it would call _unlock_file() and pass it a closed file object. Noted by Rob Austein.
|
|
|
|
| |
when using the -3 flag. Patch by Florent Xicluna.
|
| |
|
|
|
|
|
|
| |
the maildir toc cache refresh date before actually refreshing the cache.
(see #6896)
|
|
|
|
|
| |
This is done by recording the current time -1sec, and not re-reading unless
the directory mod. times are >= the recorded time.
|
|
|
|
| |
Fixes issue2625.
|
|
|
|
|
| |
and add corresponding tests.
Possible 2.5 backport candidate
|
|
|
|
|
|
| |
MaildirMessage.
2.5.2 bugfix candidate.
|
|
|
|
|
|
|
| |
The Maildir specification doesn't seem to say anything about this
situation, and it can happen if you're keeping a Maildir mailbox in
Subversion (.svn directories) or some similar system. The patch just
ignores directories in the cur/, new/, tmp/ folders.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add length checking to single-file mailbox formats: before doing a
flush() on a mailbox, seek to the end and verify its length is
unchanged, raising ExternalClashError if the file's length has
changed.
This fix avoids potential data loss if some other process appends to
the mailbox file after the table of contents has been generated;
instead of overwriting the modified file, you'll get the exception.
I also noticed that the self._lookup() call in self.flush() wasn't
necessary (everything that sets self._pending to True also calls
self.lookup()), and replaced it by an assertion.
2.5 backport candidate.
|
|
|
|
| |
using it
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change looks massive but it's mostly a re-indenting after
removing some try...finally blocks.
Also adds a test case that does a pack() while the mailbox is locked; this
test would have turned up bugs in the original code on some platforms.
In both nmh and GNU Mailutils' implementation of MH-format mailboxes,
no locking is done of individual message files when renaming them.
The original mailbox.py code did do locking, which meant that message
files had to be opened. This code was buggy on certain platforms
(found through reading the code); there were code paths that closed
the file object and then called _unlock_file() on it.
Will backport to 25-maint once I see how the buildbots react to this patch.
|
|
|
|
|
|
|
|
|
|
|
| |
Two changes:
Where possible, use link()/remove() to move files into a directory; this
makes it easier to avoid overwriting an existing file.
Use _create_carefully() to create files in tmp/, which uses O_EXCL.
Backport candidate.
|
| |
|
|
|
|
|
|
|
| |
Both the Maildir and MH classes had this bug; the patch fixes both classes
and adds a test.
Will backport to 25-maint.
|
|
|
|
| |
in its flush() method, causing an error
|
| |
|
|
|
|
|
| |
can be returned if fcntl (lockf) fails. This fixes the test failure
on Tru64 by checking for either error rather than just EAGAIN.
|
|
|
|
|
|
|
|
|
| |
remove the flock() calls.
On FreeBSD, the two methods lockf() and flock() end up using the same
mechanism and the second one fails. A Linux man page claims that the
two methods are orthogonal (so locks acquired one way don't interact
with locks acquired the other way) but that clearly must be false.
|
|
|
|
|
| |
This change will probably break tests on FreeBSD buildbots, but I'll check in
a fix for that next.
|
|
|
|
|
| |
and the DOS error code in errno. Revert changes where
WindowsError catch blocks unnecessarily special-case OSError.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the 2005 Summer of Code).
The revision adds a number of new mailbox classes that support adding
and removing messages; these classes also support mailbox locking and
default to using email.Message instead of rfc822.Message.
The old mailbox classes are largely left alone for backward compatibility.
The exception is the Maildir class, which was present in the old module
and now inherits from the new classes. The Maildir class's interface
is pretty simple, though, so I think it'll be compatible with existing
code.
(The change to the NEWS file also adds a missing word to a different
news item, which unfortunately required rewrapping the line.)
|
|
|
|
|
| |
'\037\014\n' (see http://quimby.gnus.org/notes/BABYL) so look for that as well,
so that applications won't get '\037' as the last line of the last message.
|
|
|
|
| |
fixes bug #996359.
|
|
|
|
|
|
| |
readline() very similar, so they're refactored into _read. Patch by Johannes Gijsbers.
2.3 bugfix candidate.
|
| |
|
|
|
|
|
|
|
|
| |
attribute to the (stringized) message number (if this attribute is
settable). This is useful so users of this class can report the
correct message number (e.g. when classifying spam).
Also added a blank line before the first method of each class.
|
| |
|
| |
|
| |
|