| Commit message (Collapse) | Author | Age |
|
|
|
| |
all unittests now use asyncio and the standard unittest framework.
|
|
|
|
|
|
|
|
|
|
|
| |
asyncio's Futures are much like twisted's Deferreds, they represent a
value that is not yet available, and they can be awaited like a
coroutine.
For the moment we still need to return a deferred because the twisted
eventloop doesn't use Futures, it uses Deferreds; once we can remove
twisted's eventloop we can remove the conversion from a Future to a
deferred.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This decorator works to allow tests for pure asyncio coroutines to
operate synchronously.
|
|
|
|
|
|
| |
Rather than returning a deferred in some cases, this makes the function
a coroutine, in some cases it calls regular subprocess, in other cases
it uses asyncio subprocess.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Email utils apparently assumes it's getting a string, and calls encode
directly. This can only be hit if you have a single account configured,
not with multiple accounts.
Fixes #1277
|
|
|
|
|
| |
This adds a new TestCase for the database manager
and adds a test for saving/reading named query strings to the database.
|
|
|
|
|
|
|
|
|
|
| |
This patchseries adds a new buffer type for displaying notmuch's saved
querystrings. This commit adds the respective theming attributes used in
the new buffer. They are just copies of the taglist buffer really.
THIS BREAKS COMPATIBILITY WITH USER THEMES!
The theme files need to be updated to also have these new attributes in
order to conform with the updated spec.
|
|\
| |
| | |
fix: automatically update envelope gpg keys only if requested. see #1228
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Message from bytes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Our message_from_functions decrypt PGP encryped parts in addition to
creating a message object (from bytes or file handles) and recognizing
the encoding in one way or the other.
Rename them before refactoring to make their function clearer and to
distinguish them from the email.message_from_ functions (which do not
decrypt).
|
|/ /
| |
| |
| | |
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
|
|/
|
|
|
|
|
| |
- SettingsManagers is now instantiated without config paths
and instead `read_[notmuch]config` is called separately
- test_no_user_setting_* are removed, because we do not need to test
what config path SettingsManager uses anymore (this is now explicit)
|
|
|
|
| |
They are not needed for python >= 3.0.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This reverts commit d01d2e51da45dd87f0abf98b8a856f3b3de69153.
I don't think that this patch really improved readability that much. The
right solution is to split ComposeCommand.apply so we don't need so many
mocks.
|
| |
|
| |
|
| |
|
|
|
|
| |
This allows writing less-nested statements.
|
|
|
|
|
|
|
| |
I had made the assumption early on that this would get bytes, but when I
added `assert isinstance(header, bytes)` alot would crash on startup,
changing `bytes` to `str` fixed that. I noticed this when trying to fix
the warning generated in the logging call.
|
|
|
|
|
|
| |
We don't want to be comparing bytes anyway, the decode would use utf-8,
and that isn't right. Instead make the caller convert to a str of
Address first.
|
|
|
|
|
| |
Commands running in a subprocess should return the terminal encoding so
we don't need to guess their encoding.
|
|
|
|
|
| |
Which compares that the lists have the same elements, but doesn't check
their order.
|
| |
|
| |
|
|
|
|
|
| |
There are a few that are still broken because of bytes to unicode
conversion, and this may not all be correct, but most of the tests pass
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
The crypto code shouldn't use unicode strings, it should use byte
strings. The problem with using unicode strings (and doing the
conversion internally), is that the crypto code doesn't know what the
encoding should be. We can guess but it's better to just do bytes in
bytes out, and let the calling code deal with encoding and decoding.
|
|
|
|
|
|
| |
This makes me a little nervous. I wonder if we're better off leaving the
bits that gpg works with as bytes while gpg is working with them and do
the string transformation later.
|
| |
|
|
|
|
| |
In python 3 xrange is range, to get a list one must wrap range in list.
|
|
|
|
|
|
|
| |
As well as reducing duplication and adding screen size detection to
:pipeto and :pyshell, this ensures that the screen is always restarted,
resulting in cleaner error handling if an error occurs while the screen
is stopped.
|
| |
|
| |
|
| |
|
| |
|