aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2010-03-02 08:37:48 +0000
committerRob Austein <sra@hactrn.net>2010-03-02 08:37:48 +0000
commitdb13040f9ac9f91170198fc425566488a3d2762e (patch)
treedfa47f0d85f88420077be94d007e1ff4cf800e75
parent0c6c49349035ad32d0316232b990bfcb14d3fab6 (diff)
Cleanup
svn path=/myrpki.rototill/test-cmd.py; revision=3012
-rw-r--r--myrpki.rototill/test-cmd.py44
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()