| Commit message (Collapse) | Author | Age |
|\
| |
| | |
thread mode message indentation
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
this makes sure that 'tbuffer._indent_width', which stores the requested
indentation width, remains non-negative.
As a consequence, multiple "decrease" operations on zero values can be
reverted by a single "increase", as is intuitive.
|
| |
| |
| |
| |
| |
| | |
this introduces a new argparse validation check that makes sure a
parameter is '+', '-', or an integer, and uses this check for the
'indent' thread mode command.
|
| | |
|
| |
| |
| |
| | |
to dynamically change the message indentation
|
| |
| |
| |
| |
| | |
This adjusts the message/reply indentation according to the new
'thread_indent_replies' config option.
|
| | |
|
|\ \
| | |
| | | |
relay "exclude_tags" in queries
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
this adds exclude tags to every query object. Just as in notmuch (option
search.exclude_tags), this will essentially render messages invisible if
tagged with one of those tags, unless they explicitly appear in the
query. See also man notmuch-config(1).
closes #732
|
| |/
| |
| |
| |
| | |
which will be interpreted just like 'search.exclude_tags' in the notmuch
config.
|
|/
|
|
| |
It seems not to be to handle error messages of different locale than en
|
|
|
|
|
|
|
|
| |
Add account configuration variable 'encrypt_to_self' that if true when
encrypting a message it will also be encrypted with the key defined for
this account.
Fixes #1140
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This will result in wrong behavior, gpg will prompt for a password
rather than using keys to encrypt.
|
| |
|
|
|
|
| |
This makes drafts display correctly.
|
|
|
|
|
|
|
| |
If the message doesn't have a sender, try to come up with one. If the
message has the draft tag we known that the user is the sender, just use
the default account as the from if we can't find one another way. If it
doesn't have the draft tag just set the sending to 'Unknown'.
|
|
|
|
|
|
|
|
|
|
|
| |
This uses a try/except because comparing an address to an empty string
should be a fairly uncommon event and try/except will be faster than
`if '@' not in other` in the case where '@' is in other.
This stops alot from crashing if there is no 'From' header in the
email. Outlook generates drafts without a 'From' header.
Fixes #1050
|
|\ |
|
| |
| |
| |
| |
| | |
This mostly shortens lines down to <=79 chars and fixes some other small
things I found using the pep8 tool.
|
| |\
| | |
| | | |
db/message: Use self._id instead of self.get_message_id()
|
| | |
| | |
| | |
| | |
| | | |
The latter function returns self._id anyway, and this avoids a function
call when sorting.
|
| |\ \
| | | |
| | | | |
Handle servers that treat the user segment of an address as case insensitive
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This just wries the new Address class into alot for use, and fixes up a
few places where such fixups are needed.
Fixes #1107
|
| | |/
| | |
| | |
| | |
| | | |
This class will encapsulate the logic of comparing email addresses and
the rules of handling when capitalization is allowed and when it's not.
|
| |\ \
| | |/
| |/| |
more tests + cleanups
|
| | |
| | |
| | |
| | |
| | | |
add returns and rtype for sphinx and reflow the rest of the docstring a
bit.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
list_keys won't raise an exception if there are not keys, it will return
a generator that creates an empty list:
>>> from alot import crypto
>>> list(crypto.list_keys('doesntexist@example.com'))
[]
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise the editor will crash.
I can't figure out for the life of me to test this. I thought that I
would be able to do something like detect if stdin is a tty or something
else, but that doesn't seem to work.
Fixes #1137
|
|\ \
| | |
| | | |
Submit/external command tests
|
| | |
| | |
| | |
| | |
| | |
| | | |
If someone passes us something other than None or a callable they're
abusing the API. Instead, use is not None, and let the code except if
something else is passed.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This simplifies the code but not using an if/else, but to just use a
ternary to set the input to Popen.communicate. This also pulls some code
out of the try/except block that isn't being tried.
|
| |/
| |
| |
| | |
It's just a little off
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
An assignment `e = os.environ` creates a reference not a copy, which
means that modifying one necessarily modifies the other. Using
`dict.copy` creates a shallow copy (the keys and values are references,
but the dicts are different objects), which means only modifications to
mutable objects are shared. In the case of os.environ which only
contains immutable objects like strings, bools, and numbers this isn't
an issue.
|
|/
|
|
|
| |
Since the file is encoded in utf-8 we can actually print the ellipsis.
Most people can more readily read that than the raw utf-8 escape.
|
|\
| |
| | |
Fix #1132 by reverting part of fa3dd1b04567.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This undoes a small subset of the changes from
fa3dd1b04567c4ea03fa658c3838b569531c79f5 and thus fixes #1132.
The io.BytesIO object was not able to handle the unicode header names
that where returned by envelope.construct_mail, which in turn did just
copy them from the envelope header.
|
|\ \
| | |
| | | |
Fix hash(TagWidget) with unicode tag representation
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
The old implementation would raise an error when the translated tag
string was a unicode string (might be defined as an abbreviation in the
users config).
The official docs suggest this kind of implementation:
https://docs.python.org/3/reference/datamodel.html#object.__hash__
|
|\ \
| |/
|/| |
Some small changes that are py2 and py3 compatible
|
| | |
|
| |
| |
| |
| |
| | |
The short version is deprecated as of python3. Both are available in
both python versions.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
With python3 sublists are not allowed in function definitions any
longer. But the same can be done with call time iterable expansion.
References:
https://docs.python.org/2/reference/compound_stmts.html#grammar-token-sublist
https://docs.python.org/3/reference/compound_stmts.html#function-definitions
|
|\ \
| | |
| | | |
py3k small fixes
|