Age | Commit message (Collapse) | Author |
|
There's a workaround for "slow" APPENDS to an inbox, and it is that we
have a flag to allow returning early when JUST the mdoc (the
meta-document) has been written. However, this was givin a problem when
doing a FETCH right after an APPEND (with notify_just_mdoc=True) has
been done.
This commit fixes it by making the FETCH command first check if there's
an ongoing pending write, and queueing itself right after the write
queue has been completed.
This fixes the testFullAppend regression.
Releases: 0.4.0
|
|
this test was failing randomly because we were returning the deferred
before all the documents were saved into soledad store.
changed also the delete_msg deferred chaining for better readability.
Releases: 0.9.0
|
|
We're raising the exception now, not a Failure.
Releases: 0.9.0
|
|
while updating the tests, I found that IMAPMessageCollection was not
actually being used: all the work is done in IMAPMailbox, using directly
the MessageCollection instance. So, this extra level of abstraction was
finally not used.
Releases: 0.9.0
|
|
|
|
it is interpreted as "tags" otherwise.
|
|
mostly having to do with poor, missing or outdated documentation,
naming of confusing things and reordering of code blocks for improved
readability.
|
|
|
|
|
|
|
|
|
|
The previous implementation is naive, since it imposes a burden when
renaming mailboxes. We're using uuids in the local uid tables instead,
which is more cryptic but way more efficient.
* receive mbox uuid instead of name
* use mailbox uuid in identifiers
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We cannot use setUpClass when running tests with trial.
But, after all, it's not *so* expensive to initialize a new soledad
instance (since we'll be mostly using the memstore for the tests).
|
|
format instead
|
|
Although the do_parse function is deferred to threads, we were actually
waiting till its return to fire the callback of the deferred, and hence
the "append ok" was being delayed. During massive appends, this was a
tight loop contributing as much as 35 msec, of a total of 100 msec
average.
Several ineficiencies are addressed here:
* use pycryptopp hash functions.
* avoiding function calling overhead.
* avoid duplicate call to message.as_string
* make use of the string size caching capabilities.
* avoiding the mail Parser initialization/method call completely,
in favor of the module helper to get the object from string.
Overall, these changes cut parsing to 50% of the initial timing by my
measurements with line_profiler, YMMV.
|
|
|
|
So we're safe under the green lights before further rewriting.
:)
|
|
|
|
|
|
Also some fixes for None comparisons.
|
|
|
|
Increase default testing duration to 200 secs.
|
|
|
|
|
|
* documents of only three types:
* flags
* headers
* content
* add algorithm for walking the parsed message tree.
* treat special cases like a multipart with a single part.
* modify add_msg to use the walk routine
* modify twisted interfaces to use the new storage schema.
* tests for different multipart cases
* fix multipart detection typo in the fetch
This is a merge proposal for the 0.5.0-rc3.
known bugs
----------
Some things are still know not to work well at this point
(some cases of multipart messages do not display the bodies).
IMAP server also is left in a bad internal state after a logout/login.
|
|
|
|
|
|
|
|
Other fixes in the commit:
* Correct the semantic for the recent flag (reset)
* Minor unicode fixes.
* Use a field for tracking the last_uid
In general, this tries to squash all the quick and naive methods
that were relying on evaluating all the message objects before returning
a result.
Further work is still needed, planned also for 0.5 release.
get_by_index needs to be indexed too.
|
|
|
|
right now, the exceptions were visible in the stdout,
but the test was not *actually* failing.
using nose deferred decorator for this.
|
|
|
|
|
|
|
|
|
|
* Also fix some tests that where not up-to-date with code.
|
|
The imap service is launched from the tac file,
and still needs some information to be provided in separate
config files that stub much of the initialization parameters.
working fetch and store methods.
tested with offlineimap and thunderbird.
several mailboxes might be broken.
|
|
|