diff options
author | Rob Austein <sra@hactrn.net> | 2010-03-02 08:37:48 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2010-03-02 08:37:48 +0000 |
commit | db13040f9ac9f91170198fc425566488a3d2762e (patch) | |
tree | dfa47f0d85f88420077be94d007e1ff4cf800e75 | |
parent | 0c6c49349035ad32d0316232b990bfcb14d3fab6 (diff) |
Cleanup
svn path=/myrpki.rototill/test-cmd.py; revision=3012
-rw-r--r-- | myrpki.rototill/test-cmd.py | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/myrpki.rototill/test-cmd.py b/myrpki.rototill/test-cmd.py index 45b5a0c2..56b9a0dd 100644 --- a/myrpki.rototill/test-cmd.py +++ b/myrpki.rototill/test-cmd.py @@ -22,7 +22,7 @@ PERFORMANCE OF THIS SOFTWARE. import cmd, readline, sys, glob -class wibble(cmd.Cmd): +class main(cmd.Cmd): prompt = "wibble> " @@ -64,21 +64,27 @@ class wibble(cmd.Cmd): def completedefault(self, text, line, begidx, endidx): return glob.glob(text + "*") -histfile = ".wibble_history" - -try: - readline.read_history_file(histfile) -except IOError: - pass - -readline.set_completer_delims("".join(set(readline.get_completer_delims()) - set(wibble.identchars))) - -try: - wibbler = wibble() - if len(sys.argv) > 1: - wibbler.onecmd(" ".join(sys.argv[1:])) - else: - wibbler.cmdloop() -finally: - readline.write_history_file(histfile) - + def cmdloop_with_history(self, histfile): + old_completer_delims = readline.get_completer_delims() + try: + readline.read_history_file(histfile) + except IOError: + pass + try: + readline.set_completer_delims("".join(set(old_completer_delims) - set(self.identchars))) + self.cmdloop() + finally: + if readline.get_current_history_length(): + readline.write_history_file(histfile) + readline.set_completer_delims(old_completer_delims) + + def __init__(self): + cmd.Cmd.__init__(self) + argv = sys.argv[1:] + if argv: + self.onecmd(" ".join(argv)) + else: + self.cmdloop_with_history(".wibble_history") + +if __name__ == "__main__": + main() |