| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Turns out commit 7a9da3b0f obliterated a difference that mattered - the
different argument to magic.open() in guess_mimetype() and guess_encoding()
This commit reinstates that difference, and has a correct use of the pip
python-magic library to get the encoding.
|
| |
|
|
|
|
|
|
| |
The API for magic has changed at some point. Debian and Ubuntu still
have an old version, but only the new version can be installed via pip.
This commit allows us to use either version.
|
|
|
|
|
| |
The same lines are in guess_encoding() and guess_mimetype() - so have
guess_mimetype() call guess_encoding()
|
| |
|
|
|
|
|
|
| |
helper.shorten_authors_string was not able to deal with nonempty whitespaces only as author's
realnames.
cf issue #530.
|
| |
|
| |
|
| |
|
|
|
|
| |
that splits ;-separated commandlines safely using shlex
|
|
|
|
|
|
| |
The tag sorting `cmp()` put single unicode tags before the long tag
names, but don't sort the single length tags. This commit fix this
behavior sorting the single length tags separately.
|
| |
|
|
|
|
| |
helper.py usrs utf8 chars and sphinx autodoc complained
|
|
|
|
| |
cf issue #472
|
|
|
|
|
|
|
|
| |
that splits a command string into a list of strings to pass on to subprocess.Popen and the like.
This helper is now used throughout the application instead of calling shlex.split directly as this
is a potential source for errors because shlex is not yet able to properly deal with unicode
bytestrings.
|
|
|
|
|
|
|
|
| |
.. when guessing mimetypes. It turns out that it does
not always return proper 'type/subtype' strings.
This makes helper.guess_mime_type default to 'application/octett'
in those cases.
cf. issue #459
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
* introduces "just now" for <60sec
* Nmin ago for <1hour
* uses 12 hour clock for minutes iff am/pm is used by locale
* lower case "yest" for yesterdays mails
|
| |
| |
| |
| |
| |
| | |
datetime.strftime returns UTF-8 encoded strings, not unicodes.
This decodes them for later use.
fixes #421
|
|/
|
|
|
| |
that splits a nametemplate string as given in the mailcap
sensibly into prefix and suffix
|
| |
|
| |
|
|
|
|
|
|
| |
this makes read_config accept a `checks` dict as parameter
which it will add to the validator if validation is used.
It allows us to define custom checks ~ value types in our spec
|
| |
|
|
|
|
|
|
| |
this refactors settings.py to make it more modular:
errors.py will contain all exception classes,
read_config is moved to helper to reuse in elsewhere
|
| |
|
| |
|
|
|
|
| |
thos should not depend on user settings
|
|
|
|
|
| |
this changes all "small" calls to a config getter
toa theyr counterparts that call SettingsManager.get
|
| |
|
|
|
|
| |
makes debugging easier
|
|
|
|
|
|
|
| |
helper.guess_mimetype is expected to return a mimetype string.
If libmagic fails it used to return None. This makes it
fall back to 'application/octet-stream'.
close #313
|
|
|
|
|
|
|
|
|
| |
Quoting http://twistedmatrix.com/documents/current/api/twisted.internet.interfaces.IReactorProcess.spawnProcess.html:
args - the command line arguments to pass to the process; a sequence
of strings. The first string should be the executable's name.
Fixes #308, possible more.
|
|
|
|
| |
issue #304
|
|
|
|
|
| |
in account.send_mail and use
call/errbacks in envelope accordingly
|
|
|
|
| |
properly errback after process failed
|
|
|
|
|
| |
that does as call_cmd before but non-blocking:
it returns a deferred that calls back with the requested triple.
|
| |
|
| |
|
|\
| |
| | |
Sorted searchbuffer taglist
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Preserve property that single char tags are always displayed before all other
tags.
So far the sorting of tags in a ThreadlineWidget was case sensitive:
['✉', 'Notmuch', 'alot', 'xapian'].
Now the sorting is case insensitive but still treats single char tags
preferentially: ['✉', 'alot', 'Notmuch', 'xapian']
Cf issues #190, #109 and #77.
|
| | |
|
| |
| |
| |
| | |
helper.mimewrap
|
| | |
|
|/ |
|
|
|
|
|
|
| |
this can be called with arbitrary data blobs
and will be reused throughout the interface
issue #172
|
|
|
|
|
|
| |
this introduces helper.guess_mimetype,
that uses the `file` type determination library
issue #172
|
| |
|
| |
|
| |
|