Command line parsing utility.
Synopsis:
from spug.util.ComLine import helpOption, ArgType, ComLine # define the command line options clopts = \ [ # standard help option (-h or --help) helpOption(), # option -f, --file, or --file-to-use which accepts a single # parameter ArgType('file', 'f', ['file', 'file-to-use'], parm = 1, parmHelp = 'file-name', help = 'Specifies the file to be used.' ), # a verbosity option ArgType('verbose', 'v', ['verbose'], help = 'be verbose'), ] # we define the help prefix, options will be automatically printed # if help is requested. cl = ComLine(clopts, helpPrefix = ''' widget - defines various widgets Usage: widget [options] widget-name ... ''') # "others" gives us the list of non-option arguments. Check to # see if it is empty, show usage blurb if it is. if not cl.others(): cl.help() # get file option (None if none was supplied). file = cl['file'] # get verbosity (1 or None) verbose = cl['verbose']
def helpOption():
Clients may use this function to easily create the officially sanctioned help
function.
Import this function when you just need to provide the "help" command line
option. For example:
If you pass in a true value for force, it will force the help message
to be printed no matter what the command line options are.
help(helpText, force)
def help(helpText, force = 0):
from spug.util.ComLine import help
help('''
foo - program to do foo
Options:
'''
)