diff options
author | Patrick Totzke <patricktotzke@gmail.com> | 2017-11-05 16:59:43 +0000 |
---|---|---|
committer | Patrick Totzke <patricktotzke@gmail.com> | 2017-11-05 17:38:01 +0000 |
commit | cceec453ae54b19606a7e4ad743ff13f750e57f8 (patch) | |
tree | 969440839551708f9321060484ae0ee9fe6755a2 /alot/commands/thread.py | |
parent | e696ae1f2ee608bc6e3188e1b5c802726067c35f (diff) |
sanitize parameter for thread mode command 'indent'
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.
Diffstat (limited to 'alot/commands/thread.py')
-rw-r--r-- | alot/commands/thread.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/alot/commands/thread.py b/alot/commands/thread.py index fc6a4273..33230197 100644 --- a/alot/commands/thread.py +++ b/alot/commands/thread.py @@ -537,7 +537,8 @@ class EditNewCommand(Command): 'nargs': '*'})]) @registerCommand( MODE, 'indent', help='change message/reply indentation', - arguments=[(['indent'], {})]) + arguments=[(['indent'], {'action': cargparse.ValidatedStoreAction, + 'validator': cargparse.is_int_or_pm})]) class ChangeDisplaymodeCommand(Command): """fold or unfold messages""" @@ -576,8 +577,8 @@ class ChangeDisplaymodeCommand(Command): elif self.indent == '-': tbuffer._indent_width -= 1 else: - # TODO: I'm dangerous - tbuffer._indent_width = int(self.indent) + # argparse validation guarantees that self.indent is an integer + tbuffer._indent_width = self.indent tbuffer.rebuild() tbuffer.collapse_all() ui.update() |