summaryrefslogtreecommitdiff
path: root/alot
Commit message (Collapse)AuthorAge
* Remove unicode escape codesLucas Hoffmann2019-11-06
|
* Remove unicode literals syntax from python2Lucas Hoffmann2019-11-06
|
* Fix crash when editor_cmdstring is empty.Pol Van Aubel2019-11-02
| | | | | | | | Bypasses the inspection of editor_cmdstring if it is still None after all attempts to fill it. This will eventually lead to EditCommand.apply erroring with 'no editor set' instead of alot crashing. Fixes #1438
* Be more informative if editor exits with error.Pol Van Aubel2019-11-02
| | | | | Implements the suggestion in #1427 to display the actual error code, and substitutes an empty stderr with "No stderr output".
* fix display of HTML-only mailsMichael J Gruber2019-09-06
| | | | | | | | "Prefer plain text" should mean just that, and not "ignore HTML even in the absence of a text part". 21c399ee ("Update to new (3.6) email message API", 2018-12-08) had introduced the "ignore" behaviour. Make it "prefer" again.
* directly import Completers from their resp modulePatrick Totzke2019-08-17
| | | | ... instead of from alot.completion
* cleanup: remove unused parameterPatrick Totzke2019-08-17
| | | | ... to Completer.relevant_part
* make codeclimate happy(er)Patrick Totzke2019-08-17
|
* use formataddr helper in accounts completerPatrick Totzke2019-08-17
|
* refactor prompt completionPatrick Totzke2019-08-17
| | | | | This just splits the file completion.py into several files, one for each Completer subclass.
* cleanups: buffers/thread.pyPatrick Totzke2019-08-16
|
* Fix UnboundLocalErrorLucas Hoffmann2019-08-16
| | | | The local variable proc was not defined in these branches.
* unused importPatrick Totzke2019-08-16
|
* db/manager: Drop async methodDylan Baker2019-08-15
| | | | | | | | | | As far as I can tell using a separate process doesn't actually improve performance, it makes it worse. The work that we're passing off to the separate function isn't necessarily work that's well suited to being handed off, there isn't a lot of computation and the objects that need to be passed across the pipe are fairly large (at least when considering a pipe). Converting the function to a generator gives better performance and simplifies the implementation.
* trailing whitespacesPatrick Totzke2019-08-15
|
* unused imports and variablesPatrick Totzke2019-08-15
|
* retire Message.accumulate_bodyPatrick Totzke2019-08-15
| | | | | | ... in favour of get_body_text to de-clutter the Message class. The functionality is implemented in alot.db.utils.extract_body, which now contains the hard-coding of the html warning.
* rename Message.get_text_content() to get_body_text()Patrick Totzke2019-08-15
|
* update docstringsPatrick Totzke2019-08-15
|
* Update to new (3.6) email message APIPatrick Totzke2019-08-15
| | | | | | | This uses email.message.EmailMessage.get_body() to find the best candidate for a "body" message part and replaces our own ad-hoc solution in alot.db.utils.extract_bodytext, which was based on a walk through all parts.
* remove field_key parameter from PipetoCommandPatrick Totzke2019-08-15
| | | | I don't think anyone needs anything else but copiousoutput here
* pep8 fixes in alot/widgetsPatrick Totzke2019-08-11
|
* remove unused importsPatrick Totzke2019-08-11
|
* ContactsCompletion: use db.utils.formataddrMichael J Gruber2019-08-10
| | | | | | | | | | | | email.utils.formataddr does more encoding than we need at this point - headers will be encoded when they get inserted anyway. Use db.utils.formataddr instead. Fixes #1378 Note that some tests need to be (and are) changed: The expectation of the old tests was to get a completely escaped result. Also, add an umlaut test.
* Merge pull request #1398 from pazz/0.8-summary-onlyLucas Hoffmann2019-07-22
|\ | | | | Faster Thread loading
| * explicit expand method in MessageTreesPatrick Totzke2019-06-03
| | | | | | | | | | to make sure that all parts exist when messages are expanded (see pydoc string)
| * cosmeticsPatrick Totzke2019-06-02
| |
| * Only create MessageSummary initiallyPatrick Totzke2019-06-02
| | | | | | | | | | | | | | | | | | | | | | This will prevent the whole message from being read and interpreted at the time we instantiate a MessageTree for display and instead only create the (cheap!) summary widget. When a user manually interacts with the Message widgets (for example by unfolding/toggling source) then the content parts will anyway be reassembled. The consequence of this patch is that loading large threads should be much faster.
* | Options overwrite default values for sent_tags and draft_tagssgelb2019-07-07
|/ | | | | In addition, remove hardcoded default values from `account.py` and use defaults from `alot.rc.spec`
* refactor ReplyCommandPatrick Totzke2019-06-02
| | | | | This moves the static methods clear_my_address and ensure_unique_address out of ReplyCommand and into alot.db.utils.
* fix: use from-header from disk when replyingPatrick Totzke2019-06-02
| | | | | | | | | | | | | | | | see issue #1402 If the "author" string (a decoded version of the From header value) is read from the notmuch index, it may have already removed quotes around real name parts containing a comma. This means that `alot.db.message.get_author()` will potentially misinterpret it because python's email libs decoding behaviour is different. For example, 'Ä, B <a@b.c>' will yield address 'Ä' and empty name!. This commit makes sure that the original from header is read from disk when one replies to a message, which avoids the above problem.
* fix formataddrPatrick Totzke2019-06-02
| | | | | | | | | | | | | | | | | | | | | This adds a local utility function `formataddr` which acts as the direct inverse of `email.utils.parseaddr`. The problem with `email.utils.formataddr` is (currently) that - it encodes non-ascii characters and - it does not re-introduce quotes around the real name parts in case parseaddr removed them: >>>parseaddr('"Ö, Ä" <a@b.c>') >>>('Ö, Ä', 'a@b.c') >>>formataddr(('Ö, Ä', 'a@b.c')) >>>'=?utf-8?q?=C3=96=2C_=C3=84?= <a@b.c>' >>>parseaddr('=?utf-8?q?=C3=96=2C_=C3=84?= <a@b.c>') >>>('=?utf-8?q?=C3=96=2C_=C3=84?=', 'a@b.c') related issue #1402
* adjust to variable python-magic APIMichael J Gruber2019-06-02
| | | | | | | | Depending on the libmagic/ctypes version, magic_version is a function or a constant. So far, the code expected a constant and fails on the function variant with a TypeError. Test with callable() und use the magic_version attribute accordingly.
* remove old new-style classes syntaxPatrick Totzke2019-05-27
| | | | | | Python3 only supports "new-style" classes (those extending object), and we don't need to explicitly inherit from this root class any more. See http://pylint-messages.wikidot.com/messages:c1001
* do not remove quotes around realname partsPatrick Totzke2019-05-27
| | | | | | | | | | | | | when decoding headers containing email addresses; Some MUAs (exchange) will add headers in the form: To: "Last, First" <x@y.z> Prior to this commit, alot would remove the quotes (apparently they violate RFC 2047). However, this then would lead to problems where the additional comma is interpreted as separator between several recipients. This commit causes alot to not remove the quotes.
* Fix double width characters in search viewCaio Prado2019-05-14
| | | | | Hotfix for double width characters causing columns misalign in search view (https://github.com/pazz/alot/issues/1393)
* update docs for tag commands in search modePatrick Totzke2019-05-11
| | | | Closes #1391
* cleanup trailing whitespacePatrick Totzke2019-05-11
|
* fix mergePatrick Totzke2019-05-11
| | | | | | | | Since this branch was created, master has diverged in that ComposeCommand now stores the determined sender account in the envelope. (see #117). This commit makes sure that the newly split methods read the account from there.
* fix pyflakes issuesPatrick Totzke2019-05-11
|
* commands/globals: split remaining functionality out of applyPatrick Totzke2019-05-11
| | | | The last few functions are very small so just doe them in one go.
* commands/globals: Split encryption code into a helperDylan Baker2019-05-11
|
* commands/globals: Split code for setting a missing To headerDylan Baker2019-05-11
|
* commands/globals: split gpg signing code into a helperDylan Baker2019-05-11
|
* commands/globals: split envelope setting codePatrick Totzke2019-05-11
|
* commands/globals split out the signature setting codeDylan Baker2019-05-11
|
* commands/globals: split the code for setting ...Patrick Totzke2019-05-11
| | | | account and From header
* commands/globals: split out the code for loading a templateDylan Baker2019-05-11
|
* commands/globals: wrap apply in an error handlerDylan Baker2019-05-11
| | | | | | | | As we split the apply method up into separate methods we need a way for those helpers to stop execution of the method. This wraps the real apply method inside of a try/except block with a custom exception. Any helper that is intended to run in the apply method simply needs to raise this exception, and apply will return.
* expose subject and to headers to forward_prefix hookNick Hu2019-05-11
|