diff --git a/monkeysign/cli.py b/monkeysign/cli.py index 88b4f3917b7e2eaeb0fa2099b4181098a1ed6c70..2a5c7acd5c27e0a4cacd21ed7b4332a5fa33c425 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 b06bb9264bc0b6276bb1928a88be75f253b45eb1..e8186226b09499d48a0eb595a8ae3395eef021a4 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()