summaryrefslogtreecommitdiff
path: root/alot/utils
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/utils
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/utils')
-rw-r--r--alot/utils/argparse.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/alot/utils/argparse.py b/alot/utils/argparse.py
index adacdd6e..ff19030c 100644
--- a/alot/utils/argparse.py
+++ b/alot/utils/argparse.py
@@ -97,6 +97,16 @@ def require_dir(path):
raise ValidationFailed('{} is not a valid directory.'.format(path))
+def is_int_or_pm(value):
+ """Validator to assert that value is '+', '-', or an integer"""
+ if value not in ['+', '-']:
+ try:
+ value = int(value)
+ except ValueError:
+ raise ValidationFailed('value must be an integer or "+" or "-".')
+ return value
+
+
class BooleanAction(argparse.Action):
"""Argparse action that can be used to store boolean values."""
def __init__(self, *args, **kwargs):