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/utils | |
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/utils')
-rw-r--r-- | alot/utils/argparse.py | 10 |
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): |