diff options
author | Sebastian Pipping <sebastian@pipping.org> | 2010-07-07 18:19:29 +0200 |
---|---|---|
committer | Sebastian Pipping <sebastian@pipping.org> | 2010-07-07 18:30:27 +0200 |
commit | a80e2f67c49d372397f96cf89ac1087b2c0f78d1 (patch) | |
tree | 012469979e2f218ce20c97c2eb0db91d7c942aa2 | |
parent | aa11838f38b40f4e34987cf12cb911d6633450db (diff) | |
download | layman-a80e2f67c49d372397f96cf89ac1087b2c0f78d1.tar.gz layman-a80e2f67c49d372397f96cf89ac1087b2c0f78d1.tar.bz2 layman-a80e2f67c49d372397f96cf89ac1087b2c0f78d1.zip |
Improve command line API cases "layman" and "layman foo"
-rw-r--r-- | CHANGES | 8 | ||||
-rw-r--r-- | layman/config.py | 8 |
2 files changed, 15 insertions, 1 deletions
@@ -1,6 +1,14 @@ CHANGES ------- +Version TODO +=================================== + + - Handle command line calls "layman" and "layman foo" better. + Former now shows a usage summary while latter now reports + an error. Both of them kept quiet before. + + Version 1.3.4 - Released 2010-07-05 =================================== diff --git a/layman/config.py b/layman/config.py index a19d7e6..750364a 100644 --- a/layman/config.py +++ b/layman/config.py @@ -237,7 +237,13 @@ class Config(object): # Parse the command line first since we need to get the config # file option. - self.options = self.parser.parse_args(args)[0] + if len(args) == 1: + print 'Usage:%s' % _USAGE + sys.exit(0) + + (self.options, remain_args) = self.parser.parse_args(args) + if len(remain_args) > 1: # remain_args starts with something like "bin/layman" ... + self.parser.error("Unhandled parameters: %s" % ', '.join(('"%s"' % e) for e in remain_args[1:])) # handle debugging OUT.cli_handle(self.options) |