persistent command history

Saves readline history to ~/.mininet_history.
This commit is contained in:
Rich Lane
2014-03-15 10:46:07 -07:00
parent 8f5f38c6a5
commit a905be2260
+14
View File
@@ -31,6 +31,8 @@ from os import isatty
from select import poll, POLLIN from select import poll, POLLIN
import sys import sys
import time import time
import os
import atexit
from mininet.log import info, output, error from mininet.log import info, output, error
from mininet.term import makeTerms, runX11 from mininet.term import makeTerms, runX11
@@ -52,6 +54,18 @@ class CLI( Cmd ):
self.inputFile = script self.inputFile = script
Cmd.__init__( self ) Cmd.__init__( self )
info( '*** Starting CLI:\n' ) info( '*** Starting CLI:\n' )
# Setup history if readline is available
try:
import readline
except ImportError:
pass
else:
history_path = os.path.expanduser('~/.mininet_history')
if os.path.isfile(history_path):
readline.read_history_file(history_path)
atexit.register(lambda: readline.write_history_file(history_path))
if self.inputFile: if self.inputFile:
self.do_source( self.inputFile ) self.do_source( self.inputFile )
return return