From b9fa63849364b5f1a65a12faf84fab260da29132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@koumbit.org> Date: Tue, 23 Jul 2013 11:10:12 -0400 Subject: [PATCH] print usage when failing to parse commandline --- monkeysign/cli.py | 10 +++++++--- monkeysign/ui.py | 5 ++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/monkeysign/cli.py b/monkeysign/cli.py index 88b4f39..2a5c7ac 100644 --- a/monkeysign/cli.py +++ b/monkeysign/cli.py @@ -32,15 +32,19 @@ script assumes you have gpg-agent configure to prompt for passwords.""" usage = usage='%prog [options] <keyid>' epilog='<keyid>: a GPG fingerprint or key id' + def parse_args(self, args): + """override main parsing: we absolutely need an argument""" + parser = MonkeysignUi.parse_args(self, args) + if self.pattern is None: + parser.print_usage() + sys.exit('wrong number of arguments, use -h for full help') + def main(self): """main code execution loop we expect to have the commandline parsed for us """ - if self.pattern is None: - sys.exit('wrong number of arguments') - MonkeysignUi.main(self) # 1. fetch the key into a temporary keyring diff --git a/monkeysign/ui.py b/monkeysign/ui.py index b06bb92..e818622 100644 --- a/monkeysign/ui.py +++ b/monkeysign/ui.py @@ -109,7 +109,10 @@ Regards, elif len(self.pattern) < 1: self.pattern = None else: - sys.exit('wrong number of arguments') + parser.print_usage() + sys.exit('wrong number of arguments, use -h for full help') + # make sure parser can be accessed outside of this function + return parser def __init__(self, args = None): # the options that determine how we operate, from the parse_args() -- GitLab