summaryrefslogtreecommitdiff
path: root/alot
Commit message (Collapse)AuthorAge
* use open as a context manager instead of oneline open().read()Dylan Baker2016-12-14
| | | | | | | | While open().read() is nice for its terseness it has the problem that it causes an fd to leak until the gc collects it. For short lived scripts this isn't a big deal, but for a program like alot that run for long periods of time it's better to be correct and ensure that the fd is closed.
* use open() as context managerDylan Baker2016-12-14
| | | | | | | | | | This uses open() as a context manager instead of calling close() explicitly. This has the advantage of closing even in the event of an exception, being easier to visually inspect for correctness, and being the more modern idiom. This does leave one case of file.close(), where FILE is opened in an if tree.
* Merge pull request #920 from lucc/pylintDylan Baker2016-12-14
|\ | | | | Small fixes found with pylint
| * Turn alot.errors.GPGCode into a new style classLucas Hoffmann2016-12-14
| |
| * Use native logging string interpolationLucas Hoffmann2016-12-14
| | | | | | | | This will also make the string interpolation lazy evaluated.
| * Fix import to be compatible with python 2.7 and 3Lucas Hoffmann2016-12-14
| | | | | | | | The lower case version is available since 2.5.
| * Remove an unused variableLucas Hoffmann2016-12-14
| |
* | Fix typo in docstringLucas Hoffmann2016-12-14
|/
* Don't pass None as second argument of dict.get()Dylan Baker2016-12-13
| | | | This is the default value.
* Don't materialize with any()Dylan Baker2016-12-13
| | | | | It's more efficient to use a generator here than a list comprehension, since then we can avoid calculating addresses we don't need.
* Use tuple for isinstance instead of multiple calls to isinstanceDylan Baker2016-12-13
|
* Replace list comprehension with set comprehensionDylan Baker2016-12-13
| | | | | | | Instead of using set([l for l in list]) use {l for l in list} (which shouldn't be confused with a dict comprehension which requires the ':' in the first value}. This avoids creating a list before reducing it to a set. This feature is new in 2.7 and 3.3.
* Replace mutable keyword argumentsDylan Baker2016-12-13
| | | | | | | | | | | | | | | | | | | | | | | There are a number of cases of mutable keyword arguments (list and dict in this case). Mutable keyword arguments are rather dangerous, since any mutation of the default value is persistent, which will inevitably lead to bugs. For example, imagine this code: def func(def=[]): def.append('foo') return def >>> func() ['foo'] >>> func() ['foo', 'foo'] This is almost certainly not what was intended. This code generally uses the idiom of setting the default value to None, and then assigning with or `value = value or []` which will replace value with the empty list (or dict) when value is falsey, like None or another empty list.
* settings/manager.py: Compare addresses using == instead of inDylan Baker2016-12-13
| | | | | | | I don't think this was correct from the start, since "foo@bar.com" would match "bfoo@bar.com", even if there was a "bfoo@bar.com" in the accountmap, depending on the order that they happened to be sorted in accountmap.
* Remove trailing whitespace from inline docsLucas Hoffmann2016-12-11
| | | | It would otherwise be picked up by the autogenerated docs.
* Remove trailing white spaceLucas Hoffmann2016-12-11
|
* Further minor style fixesLucas Hoffmann2016-12-09
|
* Fix except syntaxLucas Hoffmann2016-12-09
|
* Clean up importsLucas Hoffmann2016-12-09
| | | | | | - use relative imports if possible - group imports into standard library, third party, and alot modules - sort imports alphabetically
* Use logging's native string interpolationLucas Hoffmann2016-12-09
|
* Remove braces after `del` and `return`Lucas Hoffmann2016-12-09
| | | | | `del` and `return` are keywords and not functions so the braces are not needed.
* version bumpPatrick Totzke2016-12-09
|
* bump version numberPatrick Totzke2016-12-09
|
* New option `thread_authors_order_by` to control author orderTommy Lindgren2016-12-06
| | | | | | | | | | | | | Default value 'first_message' lists authors in the order they joined the conversation. Value 'latest_message' order authors by their latest message, which makes it easier to see which authors who wrote the most recent messages. Note that authors with duplicate emails were previously filtered. We now keep all authors where name + email is unique. This is behavior is desired for some email notification services. For example, Jira will set the From header to "Joe User <jira@company.com>" meaning you will only see one author if you only keep unique email addresses.
* Merge pull request #752 from jkoelker/pipeto_field_keyPatrick Totzke2016-12-06
|\ | | | | Allow specifing the mailcap field key for `pipeto`
| * Allow specifing the mailcap field key for `pipeto`Jason Kölker2015-02-11
| | | | | | | | | | When decoding the message, use the mailcap field specified for command lookup.
* | Merge pull request #901 from xunam/fix-backslash-tPatrick Totzke2016-12-06
|\ \ | | | | | | Removed incorrect backslash-t substitution in envelope.
| * | Removed incorrect backslash-t substitution in envelope.Emmanuel Beffara2016-10-20
| | |
* | | Use `is` operator for comparing with `None` (Pep8)Cody2016-12-06
| | |
* | | Merge branch '0.3.8-SIGINT-903'Patrick Totzke2016-12-06
|\ \ \
| * | | ui: Only update via SIGINT1 when in search bufferDimitrios Semitsoglou-Tsiapos2016-11-13
| |/ / | | | | | | | | | | | | | | | | | | | | | Refreshing non-search buffers (eg the thread view) can have undesired effects. This defensively only refreshes when the search buffer is visible. (fixes #871) Signed-off-by: Dimitrios Semitsoglou-Tsiapos <kmhzsem@gmx.com>
* | | Merge branch '0.3.8-editnew_bug-819'Patrick Totzke2016-12-06
|\ \ \
| * | | Use the first account if no address matches in ComposeCommandRuben Pollan2016-09-03
| | | |
* | | | Rename to adhere to config option naming scheme.Pol Van Aubel2016-12-06
| | | |
* | | | Make header list configurable.Pol Van Aubel2016-12-06
| | | |
* | | | Introduce header-based preference in sender selectPol Van Aubel2016-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a header-based preference in sender selection, as proposed in #771. In the examples below, assume the accounts are ordered X-Y-Z in the config file. Suppose I'm in a conversation, sending mails from account Y. However, I add my account X to the "CC:" header. If I do not receive any replies before sending another mail, I want to send it from account Y again, 9 out of 10 times. The old version would prefer account X, because it lumps all headers in one list and gets a match on account X first. Suppose I have aliasing in my mailserver, but send mails from several of these aliases. They are not "aliases" as such, but accounts which happen to share a mailbox. However, account X is the account where the mail is ultimately sent to so will always be present in the "Delivered-To:" header, even if the sender only knows my address for account Y, which is in the "To:". Obviously, I want any replies to be sent from account Y, not account X. This is fixed by prioritizing matches on the "To:" over "Delivered-To:". The only case which this patch doesn't fix is when somebody replies in the first situation, adding *both* addresses to the "To:" header. In this case, however, I would be fine manually editing the proposed sender address.
* | | | Merge branch '0.3.8-feature-untrusted-signatures-858'Patrick Totzke2016-12-06
|\ \ \ \
| * | | | Define local var in all code paths.Lucas Hoffmann2016-03-30
| | | | |
| * | | | Fix typo.Lucas Hoffmann2016-03-30
| | | | |
| * | | | Indicate untrusted PGP signatures in thread view.Lucas Hoffmann2016-03-24
| | | | |
| * | | | Merge branch '0.3.8-settings-encrypt-by-default-854' into testingPatrick Totzke2016-03-24
| |\ \ \ \
| * | | | | Fix unsign command for envelope buffers.Lucas Hoffmann2016-03-24
| | | | | |
| * | | | | Merge branch '0.3.8-polish-exit-flush-853' into testingPatrick Totzke2016-03-12
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch '0.3.8-settings-encrypt-by-default-854' into testingPatrick Totzke2016-03-11
| |\ \ \ \ \ \
| | * | | | | | Make encrypt_by_default a three choice option.Lucas Hoffmann2016-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new specs for the config file are defined to allow existing config files to work with it.
| * | | | | | | Add and update several docstrings.Lucas Hoffmann2016-03-11
| | | | | | | |
| * | | | | | | Add signal for SIGINT callback ExitCommandGuillaume Seren2016-03-10
| | | | | | | |
| * | | | | | | Merge branch '0.3.8-magic-841' into testingPatrick Totzke2016-02-21
| |\ \ \ \ \ \ \
| | * | | | | | | fix #841Patrick Totzke2016-02-21
| | | | | | | | |
| * | | | | | | | Merge branch '0.3.7-fix-823' into testingPatrick Totzke2016-01-31
| |\| | | | | | |