*** cmd.py Thu Jun 6 10:53:26 2002
--- /usr/local/lib/python2.1/cmd.py Tue Apr 23 16:50:57 2002
***************
*** 37,42 ****
--- 37,44 ----
import string, sys
+ __all__ = ["Cmd"]
+
PROMPT = '(Cmd) '
IDENTCHARS = string.letters + string.digits + '_'
***************
*** 54,75 ****
nohelp = "*** No help on %s"
use_rawinput = 1
! def __init__(self,stdin=None, stdout=None):
! if stdin is not None:
! self.stdin = stdin
! else:
! self.stdin = sys.stdin
! if stdout is not None:
! self.stdout = stdout
! else:
! self.stdout = sys.stdout
def cmdloop(self, intro=None):
self.preloop()
! if intro != None:
self.intro = intro
if self.intro:
! self.stdout.write("%s\n"%(str( self.intro )))
stop = None
while not stop:
if self.cmdqueue:
--- 56,69 ----
nohelp = "*** No help on %s"
use_rawinput = 1
! def __init__(self): pass
def cmdloop(self, intro=None):
self.preloop()
! if intro is not None:
self.intro = intro
if self.intro:
! print self.intro
stop = None
while not stop:
if self.cmdqueue:
***************
*** 106,112 ****
pass
def onecmd(self, line):
! line = string.strip(line)
if not line:
return self.emptyline()
elif line[0] == '?':
--- 100,106 ----
pass
def onecmd(self, line):
! line = line.strip()
if not line:
return self.emptyline()
elif line[0] == '?':
***************
*** 119,125 ****
self.lastcmd = line
i, n = 0, len(line)
while i < n and line[i] in self.identchars: i = i+1
! cmd, arg = line[:i], string.strip(line[i:])
if cmd == '':
return self.default(line)
else:
--- 113,119 ----
self.lastcmd = line
i, n = 0, len(line)
while i < n and line[i] in self.identchars: i = i+1
! cmd, arg = line[:i], line[i:].strip()
if cmd == '':
return self.default(line)
else:
***************
*** 134,143 ****
return self.onecmd(self.lastcmd)
def default(self, line):
! self.stdout.write('*** Unknown syntax: %s (%s)\n'%(str(line),repr(line)))
def do_help(self, arg):
- "show help"
if arg:
# XXX check arg syntax
try:
--- 128,136 ----
return self.onecmd(self.lastcmd)
def default(self, line):
! print '*** Unknown syntax:', line
def do_help(self, arg):
if arg:
# XXX check arg syntax
try:
***************
*** 146,156 ****
try:
doc=getattr(self, 'do_' + arg).__doc__
if doc:
! self.stdout.write("%s\n"%(str(doc)))
return
except:
pass
! self.stdout.write("%s\n"%(str(self.nohelp % (arg,))))
return
func()
else:
--- 139,149 ----
try:
doc=getattr(self, 'do_' + arg).__doc__
if doc:
! print doc
return
except:
pass
! print self.nohelp % (arg,)
return
func()
else:
***************
*** 186,205 ****
cmds_doc.append(cmd)
else:
cmds_undoc.append(cmd)
! self.stdout.write("%s\n"%(str(self.doc_leader)))
self.print_topics(self.doc_header, cmds_doc, 15,80)
self.print_topics(self.misc_header, help.keys(),15,80)
self.print_topics(self.undoc_header, cmds_undoc, 15,80)
def print_topics(self, header, cmds, cmdlen, maxcol):
if cmds:
! self.stdout.write("%s\n"%str(header))
if self.ruler:
! self.stdout.write("%s\n"%(str( self.ruler * len(header))))
(cmds_per_line,junk)=divmod(maxcol,cmdlen)
col=cmds_per_line
for cmd in cmds:
! if col==0: self.stdout.write("\n")
! self.stdout.write("%s"%(str( (("%-"+`cmdlen`+"s") % cmd) ))),
col = (col+1) % cmds_per_line
! self.stdout.write("\n")
--- 179,198 ----
cmds_doc.append(cmd)
else:
cmds_undoc.append(cmd)
! print self.doc_leader
self.print_topics(self.doc_header, cmds_doc, 15,80)
self.print_topics(self.misc_header, help.keys(),15,80)
self.print_topics(self.undoc_header, cmds_undoc, 15,80)
def print_topics(self, header, cmds, cmdlen, maxcol):
if cmds:
! print header
if self.ruler:
! print self.ruler * len(header)
(cmds_per_line,junk)=divmod(maxcol,cmdlen)
col=cmds_per_line
for cmd in cmds:
! if col==0: print
! print (("%-"+`cmdlen`+"s") % cmd),
col = (col+1) % cmds_per_line
! print "\n"