Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds support for maildirs stored in zip files.
The huge number of files in my maildir slows down my backups
tremendously. Therefore, I want to create yearly archives (single
files) of my emails -- but still have them in my mail client.
And I want the conversion to be fully reversible.
The alternative would be to convert the emails to mbox files.
There is http://archivemail.sf.net/ which hasn't been updated
in years, but seems to still work. However, I'm not confident
that the conversion will be correct (there are multiple mbox
variants and intricacies around escaping) and can safely be
reversed.
Why zip, why not tar+gzip? Because zip allows random access
whereas tar+gzip only allows sequential access.
There are a few downsides:
But it's not necessary for the intended use case.
(within the central directory of the zip file) can corrupt
the entire zip file.
The implementation is straightforward. It adds a
BaseMaildir
class of which
Maildir
andZippedMaildir
inherit and whichholds the common methods. There is relatively little code that
is actually new, but see
ZippedMaildir
for the new code.I'm not happy with the method name
do_poll
(called bypoll
,it's the first section of poll and contains the parts of
poll
that are different in
Maildir
andZippedMaildir
), butcouldn't find a better name.