summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* Revert "db/manager: Drop async method"Anton Khirnov2020-01-02
| | | | This reverts commit e7e0c52db9093a9ecd9dcaa0766e66515a546a75.
* envelope: add setting for custom Message-ID domainpacien2019-11-24
| | | | | This allows users to use a custom domain in automatically generated Message-ID headers instead of the local hostname.
* envelope: do not add another Date header if one is already presentpacien2019-11-23
| | | | | Fixes https://github.com/pazz/alot/issues/1435: Do not add a Date header if it is already present
* envelope: fix header key:value parsing regressionpacien2019-11-23
| | | | | Fixes an issue introduced in 45829f7956716638fe77989a50eb87d3ea34cace which made header values containing ':' break the parser.
* commands/envelope: keep editable headers orderpacien2019-11-23
| | | | | | | | | | | Use the ordered set of header keys from the settings or from the current envelope when generating an editable envelope. Fixes https://github.com/pazz/alot/issues/898: Message header ordering isn't preserved from the editor Note: collections.OrderedDict has been used for backward compatibility with Python <3.7.
* envelope: correctly handle folded headerspacien2019-11-23
|
* sanitize message text for displayPatrick Totzke2019-11-21
| | | | | | | | This ensures that non-printable characters (tabs) are replaced in the message body texts in envelope buffers and in source texts in thread mode. fix #1439
* Test on Python 3.8Daniel M. Capella2019-11-10
|
* Fix compatibility with Python 3.8Felix Yan2019-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error handling code needs tearDown_exceptions in the new version of Python. Otherwise the following error appears: ``` Traceback (most recent call last): File "setup.py", line 7, in <module> setup( File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup return distutils.core.setup(**attrs) File "/usr/lib/python3.8/distutils/core.py", line 148, in setup dist.run_commands() File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands self.run_command(cmd) File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/usr/lib/python3.8/site-packages/setuptools/command/test.py", line 229, in run self.run_tests() File "/usr/lib/python3.8/site-packages/setuptools/command/test.py", line 247, in run_tests test = unittest.main( File "/usr/lib/python3.8/unittest/main.py", line 101, in __init__ self.runTests() File "/usr/lib/python3.8/unittest/main.py", line 271, in runTests self.result = testRunner.run(self.test) File "/usr/lib/python3.8/unittest/runner.py", line 176, in run test(result) File "/usr/lib/python3.8/unittest/suite.py", line 84, in __call__ return self.run(*args, **kwds) File "/usr/lib/python3.8/unittest/suite.py", line 122, in run test(result) File "/usr/lib/python3.8/unittest/suite.py", line 84, in __call__ return self.run(*args, **kwds) File "/usr/lib/python3.8/unittest/suite.py", line 122, in run test(result) File "/usr/lib/python3.8/unittest/suite.py", line 84, in __call__ return self.run(*args, **kwds) File "/usr/lib/python3.8/unittest/suite.py", line 122, in run test(result) File "/usr/lib/python3.8/unittest/suite.py", line 84, in __call__ return self.run(*args, **kwds) File "/usr/lib/python3.8/unittest/suite.py", line 122, in run test(result) File "/usr/lib/python3.8/unittest/suite.py", line 84, in __call__ return self.run(*args, **kwds) File "/usr/lib/python3.8/unittest/suite.py", line 112, in run self._tearDownPreviousClass(test, result) File "/usr/lib/python3.8/unittest/suite.py", line 301, in _tearDownPreviousClass if len(previousClass.tearDown_exceptions) > 0: AttributeError: type object 'TestSettingsManagerGetAccountByAddress' has no attribute 'tearDown_exceptions' ```
* Remove unicode escape codesLucas Hoffmann2019-11-06
|
* Remove unicode literals syntax from python2Lucas Hoffmann2019-11-06
|
* Bump twisted to >= 18.4.0 fix #1420Guillaume Seren2019-11-02
|
* Fix crash when editor_cmdstring is empty.Pol Van Aubel2019-11-02
| | | | | | | | Bypasses the inspection of editor_cmdstring if it is still None after all attempts to fill it. This will eventually lead to EditCommand.apply erroring with 'no editor set' instead of alot crashing. Fixes #1438
* Fix tests to reflect new messages.Pol Van Aubel2019-11-02
|
* Be more informative if editor exits with error.Pol Van Aubel2019-11-02
| | | | | Implements the suggestion in #1427 to display the actual error code, and substitutes an empty stderr with "No stderr output".
* fix display of HTML-only mailsMichael J Gruber2019-09-06
| | | | | | | | "Prefer plain text" should mean just that, and not "ignore HTML even in the absence of a text part". 21c399ee ("Update to new (3.6) email message API", 2018-12-08) had introduced the "ignore" behaviour. Make it "prefer" again.
* tests: test prefer_text with HTML-only mailsMichael J Gruber2019-09-06
|
* tests: use new Completer locationsPatrick Totzke2019-08-17
|
* directly import Completers from their resp modulePatrick Totzke2019-08-17
| | | | ... instead of from alot.completion
* cleanup: remove unused parameterPatrick Totzke2019-08-17
| | | | ... to Completer.relevant_part
* make codeclimate happy(er)Patrick Totzke2019-08-17
|
* use formataddr helper in accounts completerPatrick Totzke2019-08-17
|
* refactor prompt completionPatrick Totzke2019-08-17
| | | | | This just splits the file completion.py into several files, one for each Completer subclass.
* cleanups: buffers/thread.pyPatrick Totzke2019-08-16
|
* Fix UnboundLocalErrorLucas Hoffmann2019-08-16
| | | | The local variable proc was not defined in these branches.
* unused importPatrick Totzke2019-08-16
|
* Merge branch 'drop-async-method'Patrick Totzke2019-08-15
|\
| * db/manager: Drop async methodDylan Baker2019-08-15
|/ | | | | | | | | | As far as I can tell using a separate process doesn't actually improve performance, it makes it worse. The work that we're passing off to the separate function isn't necessarily work that's well suited to being handed off, there isn't a lot of computation and the objects that need to be passed across the pipe are fairly large (at least when considering a pipe). Converting the function to a generator gives better performance and simplifies the implementation.
* autopep8 extra/colour_picker.pyPatrick Totzke2019-08-15
|
* trailing whitespacesPatrick Totzke2019-08-15
|
* unused imports and variablesPatrick Totzke2019-08-15
|
* Update python requirements to 3.6Lucas Hoffmann2019-08-15
| | | | | This is needed as we use functions from the stdlib mock module that were only added in 3.6.
* Use unittest.mock from the stdlibLucas Hoffmann2019-08-15
| | | | It was added to the stdlib in py3.3 and we already require 3.5.
* retire Message.accumulate_bodyPatrick Totzke2019-08-15
| | | | | | ... in favour of get_body_text to de-clutter the Message class. The functionality is implemented in alot.db.utils.extract_body, which now contains the hard-coding of the html warning.
* rename Message.get_text_content() to get_body_text()Patrick Totzke2019-08-15
|
* update docstringsPatrick Totzke2019-08-15
|
* adjust tests to use the new EmailMessage APIPatrick Totzke2019-08-15
|
* remove duplicate and pointless testsPatrick Totzke2019-08-15
|
* Update to new (3.6) email message APIPatrick Totzke2019-08-15
| | | | | | | This uses email.message.EmailMessage.get_body() to find the best candidate for a "body" message part and replaces our own ad-hoc solution in alot.db.utils.extract_bodytext, which was based on a walk through all parts.
* remove field_key parameter from PipetoCommandPatrick Totzke2019-08-15
| | | | I don't think anyone needs anything else but copiousoutput here
* pep8 fixesPatrick Totzke2019-08-11
|
* pep8 fixes in alot/widgetsPatrick Totzke2019-08-11
|
* remove unused importsPatrick Totzke2019-08-11
|
* ContactsCompletion: use db.utils.formataddrMichael J Gruber2019-08-10
| | | | | | | | | | | | email.utils.formataddr does more encoding than we need at this point - headers will be encoded when they get inserted anyway. Use db.utils.formataddr instead. Fixes #1378 Note that some tests need to be (and are) changed: The expectation of the old tests was to get a completely escaped result. Also, add an umlaut test.
* Merge pull request #1398 from pazz/0.8-summary-onlyLucas Hoffmann2019-07-22
|\ | | | | Faster Thread loading
| * explicit expand method in MessageTreesPatrick Totzke2019-06-03
| | | | | | | | | | to make sure that all parts exist when messages are expanded (see pydoc string)
| * cosmeticsPatrick Totzke2019-06-02
| |
| * Only create MessageSummary initiallyPatrick Totzke2019-06-02
| | | | | | | | | | | | | | | | | | | | | | This will prevent the whole message from being read and interpreted at the time we instantiate a MessageTree for display and instead only create the (cheap!) summary widget. When a user manually interacts with the Message widgets (for example by unfolding/toggling source) then the content parts will anyway be reassembled. The consequence of this patch is that loading large threads should be much faster.
* | Merge pull request #1413 from sgelb/customized_tagsLucas Hoffmann2019-07-21
|\ \ | | | | | | Options overwrite default values for sent_tags and draft_tags
| * | Options overwrite default values for sent_tags and draft_tagssgelb2019-07-07
| | | | | | | | | | | | | | | In addition, remove hardcoded default values from `account.py` and use defaults from `alot.rc.spec`