Mercurial > python-cmd2
diff cmd2.py @ 39:71151157ac7c
cleaned up: proper exit after -h, -v
author | catherine@localhost |
---|---|
date | Tue, 20 May 2008 12:56:05 -0400 |
parents | 6d715d7a04fd |
children | 1275d59c08a7 |
line wrap: on
line diff
--- a/cmd2.py Tue May 20 12:54:54 2008 -0400 +++ b/cmd2.py Tue May 20 12:56:05 2008 -0400 @@ -21,34 +21,11 @@ import cmd, re, os, sys, optparse, subprocess, tempfile from optparse import make_option -class Option(optparse.Option): - # optparse.Option.take_action keeps trying to use sys.exit. That's very rude. - # We don't want to exit, we just want to know so we can terminate a particular - # function call. - def take_action(self, action, dest, opt, value, values, parser): - if action == "help": - parser.print_help() - parser.exit() - setattr(values, '_exit', True) - elif action == "version": - parser.print_version() - parser.exit() - setattr(values, '_exit', True) - - else: - return optparse.Option.take_action(self, action, dest, opt, value, values, parser) - - return 1 - -#make_option = Option - class OptionParser(optparse.OptionParser): def exit(self, status=0, msg=None): self.values._exit = True if msg: print msg - # though we must trap and prevent the exit, we also want to end whatever command - # was called def error(self, msg): """error(msg : string) @@ -57,8 +34,6 @@ If you override this in a subclass, it should not return -- it should either exit or raise an exception. """ - #print msg - #print self.format_help() raise def options(option_list):