summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Remove unicode escape codesLucas Hoffmann2019-11-06
|
* Remove unicode literals syntax from python2Lucas Hoffmann2019-11-06
|
* Bump twisted to >= 18.4.0 fix #1420Guillaume Seren2019-11-02
|
* 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
* Fix tests to reflect new messages.Pol Van Aubel2019-11-02
|
* 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.
* tests: test prefer_text with HTML-only mailsMichael J Gruber2019-09-06
|
* tests: use new Completer locationsPatrick Totzke2019-08-17
|
* 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
|
* Merge branch 'drop-async-method'Patrick Totzke2019-08-15
|\
| * 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.
* autopep8 extra/colour_picker.pyPatrick Totzke2019-08-15
|
* trailing whitespacesPatrick Totzke2019-08-15
|
* unused imports and variablesPatrick Totzke2019-08-15
|
* Update python requirements to 3.6Lucas Hoffmann2019-08-15
| | | | | This is needed as we use functions from the stdlib mock module that were only added in 3.6.
* Use unittest.mock from the stdlibLucas Hoffmann2019-08-15
| | | | It was added to the stdlib in py3.3 and we already require 3.5.
* 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
|
* adjust tests to use the new EmailMessage APIPatrick Totzke2019-08-15
|
* remove duplicate and pointless testsPatrick 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 fixesPatrick Totzke2019-08-11
|
* 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.
* | Merge pull request #1413 from sgelb/customized_tagsLucas Hoffmann2019-07-21
|\ \ | | | | | | Options overwrite default values for sent_tags and draft_tags
| * | 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`
* | | Remove expiration time from gpg keys in the test suiteLucas Hoffmann2019-07-21
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The keys were expired and thus the tests were failing. In order to remove the expiration time the following actions were taken: Creating a temporary directory to use as GNUPGHOME, importing all the keys: mkdir tmp export GNUPGHOME=$PWD/tmp gpg --import tests/static/gpg-keys/*sec.gpg For each of the three keys the expiration time was set to unlimited and they were reexported (the ones that were not ascii armored before were again exported without the `--armor` option): gpg --edit-key $KEY_ID gpg --export --armor $KEY_ID > $PUB_FILE gpg --export-secret-keys --armor $KEY_ID > $SEC_FILE Finally: rm -rf $GNUPGHOME unset GNUPGHOME
* / docs: replace updated links to urwid docsPatrick Totzke2019-06-22
|/ | | | fixes #1411
* Merge branch '0.8.1-extra-quotes'Patrick Totzke2019-06-02
|\
| * tests: db.utils.formataddrPatrick Totzke2019-06-02
| |
| * tests: move tests for db.utils.clear_my_addressPatrick Totzke2019-06-02
| |
| * tests: move test for utils.ensure_unique_addressPatrick Totzke2019-06-02
| |
| * 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