From: Guido van Rossum Date: Thu, 27 Apr 1995 23:32:47 +0000 (+0000) Subject: renamed to CommandFrameWork X-Git-Tag: v1.3b1~339 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=78016d86304a810e623d03bd9081bcdfe60c5df9;p=thirdparty%2FPython%2Fcpython.git renamed to CommandFrameWork added ready() message added PostUsageMessage --- diff --git a/Demo/pdist/cmdfw.py b/Demo/pdist/cmdfw.py index c6eb9169fb76..a0c6f5d8ec88 100755 --- a/Demo/pdist/cmdfw.py +++ b/Demo/pdist/cmdfw.py @@ -1,7 +1,7 @@ "Framework for command line interfaces like CVS. See class CmdFrameWork." -class CmdFrameWork: +class CommandFrameWork: """Framework class for command line interfaces like CVS. @@ -28,6 +28,8 @@ class CmdFrameWork: UsageMessage = \ "usage: (name)s [flags] subcommand [subflags] [argument] ..." + PostUsageMessage = None + GlobalFlags = '' def __init__(self): @@ -44,6 +46,7 @@ class CmdFrameWork: return self.usage(msg) self.options(opts) if not args: + self.ready() return self.default() else: cmd = args[0] @@ -62,6 +65,7 @@ class CmdFrameWork: except getopt.error, msg: return self.usage( "subcommand %s: " % cmd + str(msg)) + self.ready() return method(opts, args) def options(self, opts): @@ -74,6 +78,10 @@ class CmdFrameWork: print 'option', o, 'value', `a` print "-"*40 + def ready(self): + """Called just before calling the subcommand.""" + pass + def usage(self, msg = None): """Print usage message. Return suitable exit code (2).""" if msg: print msg @@ -100,6 +108,8 @@ class CmdFrameWork: names.sort() for name in names: print docstrings[name] + if self.PostUsageMessage: + print self.PostUsageMessage return 2 def default(self): @@ -111,7 +121,7 @@ class CmdFrameWork: def test(): """Test script -- called when this module is run as a script.""" import sys - class Hello(CmdFrameWork): + class Hello(CommandFrameWork): def do_hello(self, opts, args): "hello -- print 'hello world', needs no arguments" print "Hello, world"