summaryrefslogtreecommitdiff
path: root/alot
Commit message (Collapse)AuthorAge
* Add completion to new tag commandsLucas Hoffmann2017-07-11
|
* Add :tag commands in envelope buffersLucas Hoffmann2017-07-11
|
* Fix typo in docstringLucas Hoffmann2017-07-11
|
* Add a reload commandDylan Baker2017-07-10
| | | | | | | This command allows the configuration to be reloaded while alot is running. Fixes #1046
* settings: Add a reload methodDylan Baker2017-07-10
| | | | | | | | | | | This patch does a bit of refactoring to the Settings class for it's setup, and adds a reload method. The refactoring encapsulates the handling of NoneType for the read_*config methods, and reworks the constructor just a bit so that it doesn't rely on calling methods to create instance variables. The end result is slightly cleaner, and will be useful for adding a reload command to alot itself.
* Compile regex outside of for loopLucas Hoffmann2017-07-06
|
* Remove broad exceptLucas Hoffmann2017-07-06
| | | | | The protected code only calls re.match and list.append so it should never fail (and if it still fails it should not be silenced).
* Use stdlib functions in db.utils.encode_headerLucas Hoffmann2017-06-30
| | | | | | | Instead of manual parsing with regexp and manual string formatting the functions from email.utils are used. This fixes some small inconsistencies with addresses with empty realnames and with commas in realnames.
* determine_sender: replace complicated break logic by returnLucas Hoffmann2017-06-23
|
* Use account instead of realname to break loopsLucas Hoffmann2017-06-23
| | | | | | | | This fixes a bug in determine_sender where an account that did match but did not have a realname set was "not found" in case force_realname was set. Helped-By: Pol Van Aubel <dev@polvanaubel.com>
* Remember matched account explicitlyLucas Hoffmann2017-06-22
| | | | | Otherwise the next account in the for loop might have been returned if the account was found to match with its last alias.
* Extend docstringLucas Hoffmann2017-06-21
|
* Remove magic constantLucas Hoffmann2017-06-21
|
* add BSD 3 point licence to werkzeug-helperPatrick Totzke2017-06-17
|
* conservative lookup of sub-completersPatrick Totzke2017-06-15
| | | | via cached properties
* Merge pull request #1063 from lucc/tests/abookDylan Baker2017-06-09
|\ | | | | tests for addressbook classes
| * Correct membership testLucas Hoffmann2017-06-08
| |
* | Exclude search.exclude_tags from searchesJohannes Löthberg2017-06-08
|/ | | | | | Fixes #707 and #332. Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* Merge pull request #1061 from lucc/tests/settings-managerLucas Hoffmann2017-06-08
|\ | | | | add some first tests for settings.manager.SettingsManager
| * Extend docs for settings.utils.read_configLucas Hoffmann2017-06-06
| | | | | | | | | | The argument is handed to ConfigObj directly and allowing lines of text to be passed here makes future tests much easier.
* | account: Don't assume that self.aliases is setDylan Baker2017-06-07
|/ | | | | | Currently this code works because alot always populates aliases so it's not None, but if for some reason it doesn't then get_addresses will assert.
* don't select "yes" on returnPatrick Totzke2017-06-05
|
* Merge pull request #1038 from pazz/removeDylan Baker2017-05-05
|\ | | | | fix #1036
| * fix #1036Patrick Totzke2017-02-22
| | | | | | | | | | This prevents the threadbuffer to look up a nonexistent focussed message if the thread is empty (e.g. after removal of the last msg).
* | Revert "Remove getter for alot.walker.PipeWalker.lines"Lucas Hoffmann2017-03-01
| | | | | | | | This reverts commit 488d843082600928902cf4cbd442f1545a0a8c59.
* | Revert "Turn alot.walker.PipeWalker.focus into a property"Lucas Hoffmann2017-03-01
| | | | | | | | This reverts commit 237499e631741dbb3837e5ef99cc66f842e8a92e.
* | Mention "public" attributes in class docstringLucas Hoffmann2017-02-26
| |
* | Remove getter for alot.widgets.globals.TagWidget.tagLucas Hoffmann2017-02-25
| |
* | Remove getter for alot.walker.PipeWalker.linesLucas Hoffmann2017-02-25
| |
* | Turn alot.walker.PipeWalker.focus into a propertyLucas Hoffmann2017-02-25
| |
* | Move Popen.communicate call out of try-except blockLucas Hoffmann2017-02-19
| | | | | | | | | | The OSError that is being caught should only be raised by the Popen constructor: https://docs.python.org/3/library/subprocess.html#exceptions
* | Merge pull request #1029 from pazz/linewisePatrick Totzke2017-02-14
|\ \ | | | | | | optional linewise focussing in thread mode
| * | optional linewise focussing in thread modePatrick Totzke2017-02-09
| |/ | | | | | | | | | | | | | | This introduces a new config option 'thread_focus_linewise', (defaults to True), which determines if the message texts are split into individually focussable lines in thread mode. fixes #645
* | alot.rc.spec: Fix typo in documentationDylan Baker2017-02-13
| | | | | | | | | | It currently lists "terminal_command" in relation to "editor_spawn" but the config option is actually "terminal_cmd".
* | alot: fix dev versionDylan Baker2017-02-09
|/
* Convert gpg uid choices into a listRuben Pollan2017-02-08
| | | | reversed doesn't work with generators
* alot/helper: simplify call_cmd and fix testDylan Baker2017-02-07
| | | | | This both fixes a test that failed (since stderr wasn't being set) and simplifies the function to only have one path that uses a ternary.
* Merge pull request #1026 from lucc/docs/mousePatrick Totzke2017-02-03
|\ | | | | Update docs about mouse setting
| * Update docs about mouse settingLucas Hoffmann2017-02-03
| | | | | | | | | | There have been several people asking about text selection with the mouse setting activated so it seems reasonable to mention it here.
* | Remove unused methodLucas Hoffmann2017-02-02
|/
* alot/db/utils: Revert use of iterkeys on MessageDylan Baker2017-02-02
| | | | Message doesn't have an iterkeys method, just a keys method.
* commands: Use a sphinx code-blockDylan Baker2017-01-31
|
* commands/envelope: remove unreachable codeDylan Baker2017-01-31
| | | | | | | As the comment suggests this path is effectively unreachable. We have a work around because path is allowed to be None, but we don't want to handle that case. This patch forces path to be provided (which argparse will do), and then removes the unreachable else path.
* Merge pull request #1009 from dcbaker/pr/remove_cmpPatrick Totzke2017-01-30
|\ | | | | Remove remaining uses of cmp
| * widgets/globals: Optimize sorting TagWidgetsDylan Baker2017-01-27
| | | | | | | | | | | | | | | | | | | | | | The calculation wants to sort first by length, then by string value (so 'z' would come before 'aa'). The calculation does this by deciding that if one value has a length of 1, and the other doesn't. Currently it does this by calling min, and max, and calling len 4 times. This is pretty inefficient, and more complicated that necessary. Instead, this patch uses 'is not' with booleans to figure out if one and only one of the lengths is 1.
| * Replace cmp with rich comparisonsDylan Baker2017-01-27
| | | | | | | | | | | | This is both a performance issue (since cmp is slower than rich comparisons), and a python3 issue since cmp (and __cmp__) are gone in python 3.
* | bump version stringPatrick Totzke2017-01-30
| |
* | widgets/thread: Fix improper use of iteritemsDylan Baker2017-01-30
| | | | | | | | Fixes #1016
* | Merge pull request #1012 from dcbaker/pr/future_divisionPatrick Totzke2017-01-28
|\ \ | | | | | | Use __future__.division
| * | helper: Use __future__ divisionDylan Baker2017-01-27
| | |