summaryrefslogtreecommitdiff
path: root/src/leap/mail/imap/messages.py
AgeCommit message (Collapse)Author
2014-02-17separate better dirty/new flags; add cdocsKali Kaneko
2014-02-17remove hdoc copy since it's in its own structure nowKali Kaneko
2014-02-17make fdoc, hdoc, chash 'public' propertiesKali Kaneko
2014-02-17change internal storage and keying scheme in memstoreKali Kaneko
2014-02-17long-due update to unittests!Kali Kaneko
So we're safe under the green lights before further rewriting. :)
2014-02-17take recent count from memstoreKali Kaneko
2014-02-17prefetch flag docsKali Kaneko
2014-02-17defer parse to threadKali Kaneko
2014-02-04fixes after reviewKali Kaneko
* Some more docstring completion/fixes. * Removed unneeded str coertion. * Handle mailbox name in logs. * Separate manhole boilerplate into its own file.
2014-02-02fix missing content after in-memory addKali Kaneko
because THE KEYS WILL BE STRINGS AFTER ADDED TO SOLEDAD Can I remember that? * Fix copy from local folders * Fix copy when we already have a copy of the message in the inbox, marked as deleted. * Fix also bad deferred.succeed in add_msg when it already exist.
2014-01-31Restore expected TypeError.Kali Kaneko
I must have removed this to get rid of a error with some test sample during the testing of the branch, but it's absolutely needed so that mime attachments get shown properly. If the TypeError raises inapropiately due to some malformed part_map, then we will have to catch it using a workaround somewhere else.
2014-01-31remove wrong unicode conversionKali Kaneko
2014-01-31properly implement deferreds in several commandsKali Kaneko
Passing along a deferred as an observer whose callback will be called with the proper result. Returning to thread in the appropiate points. just let's remember that twisted APIs are not thread safe! SoledadStore process_item also properly returned to thread. Changed @deferred to @deferred_to_thread so it results less confusing to read. "know the territory". aha!
2014-01-31prime-uidsKali Kaneko
We pre-fetch the uids from soledad on mailbox initialization
2014-01-30fix badly terminated headersKali Kaneko
2014-01-30Fix indexing error that was rendering attachments unusableKali Kaneko
Also, check for empty body-doc
2014-01-30Fix copy and deletion problemsKali Kaneko
* reorganize and simplify STORE command processing * add the notification after the processing of the whole sequence
2014-01-30docstring fixesKali Kaneko
Also some fixes for None comparisons.
2014-01-28fix find_charset rebaseKali Kaneko
2014-01-28handle last_uid property in memory storeKali Kaneko
2014-01-28recent-flags use the memory storeKali Kaneko
2014-01-28flags use the memstoreKali Kaneko
* add new/dirty deferred dict to notify when written to disk * fix eventual duplication after copy * fix flag flickering on first retrieval.
2014-01-28Unset new flag after successful writeKali Kaneko
2014-01-28debug infoKali Kaneko
2014-01-28add soledadstore classKali Kaneko
move parts-related bits to messageparts pass soledad in initialization for memory messages
2014-01-28split messagepartsKali Kaneko
2014-01-28memory store for append/fetch/copyKali Kaneko
2014-01-27Use repr() on exceptions, inform if using 'replace'.Ivan Alejandro
2014-01-22Handle non-ascii headers. Closes #5021.Ivan Alejandro
2014-01-22Add find_charset helper and use where is needed.Ivan Alejandro
2014-01-21workaround for recursionlimit due to qtreactorKali Kaneko
2014-01-20make the read/write operations over sets atomicKali Kaneko
Fixes: #5009
2014-01-17Merge remote-tracking branch ↵Tomás Touceda
'refs/remotes/ivan/bug/handle-unicode-characters' into develop
2014-01-17Fix encodings usage, use custom json.loads method.Ivan Alejandro
Also remove some unused imports.
2014-01-17Add a fetch_headers for mass-header fetch queriesKali Kaneko
2014-01-17refactor common pattern to utility functionKali Kaneko
2014-01-17Separate RECENT Flag to a mailbox document.Kali Kaneko
this way we avoid a bunch of writes.
2014-01-16fix internaldate storageKali Kaneko
2014-01-16reset last uid on expungeKali Kaneko
2014-01-15Performance improvement on FLAGS-only FETCHKali Kaneko
* Compute the intersection set of the uids on a FETCH, so we avoid iterating through the non-existant UIDs. * Dispatch FLAGS query to our specialized method, that fetches all the flags documents and return objects that only specify one subset of the MessagePart interface, apt to render flags quickly with less queries overhead. * Overwrite the do_FETCH command in the imap Server to use fetch_flags. * Use deferLater for a better dispatch of tasks in the reactor.
2014-01-15remove use of soledad_writerKali Kaneko
Since the soledad client lock gets us covered with writes now, it makes no sense to enqueue using the messageconsumer. The SoledadWriter is left orphaned by now. We might want to reuse it to enqueue low priority tasks that need a strategy of retries in case of revisionconflicts. the MessageConsumer abstraction should also be useful for the case of the smtp queue.
2014-01-14remove locks (moved to soledad client)Kali Kaneko
2014-01-13Very limited support for SEARCH Commands. Closes: #4209Kali Kaneko
limited to HEADER Message-ID. This is a quick workaround for avoiding duplicate saves in Drafts Folder. but we'll get there!
2014-01-13Restore the encoding of the messages. Fixes: #4956Kali Kaneko
We still are getting wrong output with unicode chars, but this at least avoids breaking the fetch command.
2014-01-13Add check for uniqueness when adding mails.Kali Kaneko
Check by mbox + content-hash
2014-01-08Second stage of the new year's storage rewrite.Kali Kaneko
* 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.
2014-01-08move utility to its ownKali Kaneko
2014-01-08fix tests after rewriteKali Kaneko
2014-01-08add documentation to the decorator, fix errorback.Kali Kaneko
* it also fixes the traceback in the errorback, thanks to chiiph, who reads documentation instead of whinning :D * other minor documentation corrections
2014-01-08First stage of the storage schema rewrite.Kali Kaneko
* Separates between flags, docs, body and attachment docs. * Implement IMessageCopier interface: move and have fun! This little change is known to push forward our beloved architect emotional rollercoster. * Message deduplication. * It also fixes a hidden bug that was rendering the multipart mime interface useless (yes, the "True" parameter in the parsestr method). * Does not handle well nested attachs, includes dirty workaround that flattens them. * Includes chiiph's patch for rc2: * return deferred from addMessage * convert StringIO types to string * remove unneeded yields from the chain of deferreds in fetcher