Mercurial > python-cmd2
diff cmd2.py @ 15:0eb8d4e18472
fixed error handling
author | catherine@localhost |
---|---|
date | Thu, 15 May 2008 13:34:11 -0400 |
parents | a242603905d9 |
children | c8efa4369189 24fbec27d66f |
line wrap: on
line diff
--- a/cmd2.py Thu May 15 13:18:40 2008 -0400 +++ b/cmd2.py Thu May 15 13:34:11 2008 -0400 @@ -24,7 +24,7 @@ class OptionParser(optparse.OptionParser): def exit(self, status=0, msg=None): if msg: - sys.stderr.write(msg) + print msg def error(self, msg): """error(msg : string) @@ -33,8 +33,9 @@ If you override this in a subclass, it should not return -- it should either exit or raise an exception. """ - self.stderr.write(msg) - self.print_usage(sys.stderr) + #print msg + #print self.format_help() + raise def options(option_list): def option_setup(func): @@ -44,13 +45,12 @@ optionParser.set_usage("%s [options] arg" % func.__name__.strip('do_')) def newFunc(instance, arg): try: - opts, arg = optionParser.parse_args(arg.split()) + opts, arg = optionParser.parse_args(arg.split()) except optparse.OptionValueError, e: print e optionParser.print_help() return - result = func(instance, arg, opts) - #import pdb; pdb.set_trace() + result = func(instance, arg, opts) return result newFunc.__doc__ = '%s\n%s' % (func.__doc__, optionParser.format_help()) return newFunc