summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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
* 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
* Merge branch '0.8.1-reply-fixes'Patrick Totzke2019-05-27
|\
| * tests: add case for exchange formatted realnamesPatrick Totzke2019-05-27
| |
| * 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 travis buildsPatrick Totzke2019-05-27
| | | | see issue #1395
* docs: update dependenciesPatrick Totzke2019-05-25
|
* 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)
* travis: update notmuch dependenciesPatrick Totzke2019-05-12
|
* docs: add note regarding docs generationPatrick Totzke2019-05-12
|
* update generated docs for search mode tag cmdsPatrick Totzke2019-05-12
|
* update docs for tag commands in search modePatrick Totzke2019-05-11
| | | | Closes #1391
* Merge branch 'refactor-compose-command'Patrick Totzke2019-05-11
|\
| * fix testsPatrick Totzke2019-05-11
| | | | | | | | | | ComposeCommand._set_gpg_sign will now read off the account from self.envelope and not separate parameters.
| * remove test for ComposeCommand._set_from..Patrick Totzke2019-05-11
| | | | | | | | .. which was replaced earlier
| * 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
| |
| * tests/commands/globals: Rename tests to better fit the methods they testDylan Baker2019-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 simplify test for issue #1277Patrick Totzke2019-05-11
| |
| * tests/commands/globals: Simplify signing testsPatrick Totzke2019-05-11
| |
| * commands/globals: split gpg signing code into a helperDylan Baker2019-05-11
| |
| * tests/commands/globals: Simplify template_decode testPatrick Totzke2019-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.
* update newsPatrick Totzke2019-05-11
|
* expose subject and to headers to forward_prefix hookNick Hu2019-05-11
|
* fix double-line issuePatrick Totzke2019-03-04
| | | | | | | | | Tagstrings with double-width characters resulted in not enough horizontal space being allocated, which lead urwid to draw the statusline in two lines instead of one (see #742). This lets urwid calculate the necessary width itself, using its pack() method.
* adding new config options to the docsAndrés Martano2019-03-04
|
* Config to display in thread buffer status bar all tags present in a thread, ↵Andres MRM2019-03-04
| | | | or tags common to all messages in thread
* bump yearPatrick Totzke2019-02-14
|
* bump version stringPatrick Totzke2019-02-14
|
* restore lenient libmagic decodingMichael J Gruber2019-02-07
| | | | | | | | 176cffcd ("refactor alot.db.utils.remove_cte", 2018-12-04) created a few problems with 8bit quoted-printable e-mails, see #1291 #1360. This commit restores the old libmagic fallback which did not cause this problem.
* addressbook: add logging statementsMatthieu Coudron2019-02-06
| | | | to help troubleshoot problems
* Merge pull request #1358 from lucc/rename-testsLucas Hoffmann2019-01-29
|\ | | | | Rename test files
| * Rename test filesLucas Hoffmann2019-01-29
|/ | | | | | | | The two main reasons are - to run `python3 -m unittest discover` without specifying a custom `--pattern *_test.py` - to include the test files automatically when generating the MANIFEST file.
* db/message: accept attachments of type pgp-encryptedRuben Pollan2019-01-21
| | | | | | | | | | | | | | | | | In case of a '.gpg' file being attached to a non-encrypted email some email clients (like thunderbird) will mark this attachment as content type 'application/pgp-encrypted'. Alot used to discard that mime part because the same content type is being used in PGP/MIME to signal de version: https://tools.ietf.org/html/rfc3156#section-6.1 Now alot differenciates two cases: * Normal PGP/MIME encrypted messages, where we need to discard the 'application/pgp-encrypted' mime part. Detected because this part is followed by a 'application/octet-stream' mime part. * A mime part with aplication/pgp-encrypted as content type, that is displayed as attachment.
* Merge pull request #1362 from bmccary/masterLucas Hoffmann2019-01-21
|\ | | | | ~ expansion for .config/alot/config
| * ~ expansion for .config/alot/configbrady2019-01-06
|/ | | | | | | | pep8! Better variable names, new feature into docs. Make sphinx documentation.
* Add test case for new encoding problemsLucas Hoffmann2018-12-24
|