summaryrefslogtreecommitdiff
path: root/alot/commands/thread.py
diff options
context:
space:
mode:
authorPatrick Totzke <patricktotzke@gmail.com>2017-11-05 16:59:43 +0000
committerPatrick Totzke <patricktotzke@gmail.com>2017-11-05 17:38:01 +0000
commitcceec453ae54b19606a7e4ad743ff13f750e57f8 (patch)
tree969440839551708f9321060484ae0ee9fe6755a2 /alot/commands/thread.py
parente696ae1f2ee608bc6e3188e1b5c802726067c35f (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.py7
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()