diff options
Diffstat (limited to 'alot/utils/argparse.py')
-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): |